Java基础之泛型

1.泛型的作用:

在泛型出现之前,集合存放的元素一定要指定具体的类型,限制了!jdk5.0以后,一般把运行时可能出现的异常提前到编译时。

jdk5.0之前:

ArrayList list = new ArrayList();

list.add(new Cat());

list.add(new Dog());

Cat cat = (Cat)list.get(0);

Cat cat2 = list.get(1); //有问题!!类型转换异常(ClassCastException),运行时异常!

----------------------------------------------------------------------------

jdk5.0以后

ArrayList<Cat> list = new ArrayList<Cat>();

list.add(new Cat());//OK

list.add(new Dog()); //有问题!在编译时报错

 

2.泛型类

格式:

class 类名<自定义的泛型类>{

}

注意:

1)在创建泛型类的类对象的时候,自定义泛型类的类型就确定!

2)在创建泛型类的类对象时可以指定自定义泛型类,默认为Object类型

实例:ArrayList<E>  就是一个泛型类


3.泛型方法

第一种: 使用泛型类的类型的泛型方法

格式:

class Demo<T>{

public void method1(T t){ //泛型方法

}

}

注意:

1)在创建泛型类对象的时候,泛型方法的泛型类型就确定了

实例: ArrayList 类 上的 addE e)方法就是这样的方法

 

第二种:使用自定义泛型的泛型方法

实例:Arrays 类的 asListT ...)就是一个自定义泛型的泛型方法!

 

两种方法都存在的实例:

ArrayList是一个泛型类, 里面的add()方法是使用泛型类上的泛型方法,

toArray() 方法是一个自定义的泛型方法

 

4.泛型接口

格式:

interface A<T>{

}

注意:在创建泛型接口的实现类的类对象时,泛型接口的类型确定

实例:Collection Map 都是泛型接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值