Java泛型一次全搞懂

java中对于泛型的理解(复习笔记)

 

一、泛型是什么?

泛型,即“参数化类型”,泛型用来指定各种数据类型

泛型只能是引用数据类型 eg:integer string 而不能是基本数据类型 eg int float

代码如下(示例):

public class FanXing {

    public static void main(String[] args) {
        //编译即报错 因为类型在编译期间已被确定为String 无法接收int
        Person<String> person1 = new Person<String>("10");
        person1.show(); //class java.lang.String

        Person<Integer> person2 = new Person<Integer>(10);
        person2.show(); //class java.lang.Integer
    }
}

class Person<E> {
    E s;//E表示s的数据类型, 该数据类型在定义 Person 对象的时候指定,即在编译期间,就确定E是什么类型 

    public Person(E s) {
        //E 也可以是参数类型
        this.s = s;
    }

    public E f() {
        //返回类型使用 E
        return s;
    }
    
    public void show() {
        System.out.println(s.getClass());//显示 s 的运行类型
    }
}

//在给泛型指定具体类型后,可以传入该类型或者该类的子类类型

//编译类型是左边的,运行类型是右边的,所以泛型可以省略右边的内容<>
Person<String> person1 = new Person<>("10");

//4. 如果是这样写 泛型默认是 Object 因为Object是所有类型的超类
ArrayList arrayList = new ArrayList();//等价
ArrayList<Object> arrayList = new ArrayList<Object>();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值