Java泛型详解:和Class的使用。泛型类,泛型方法的详细使用实例
查看Arraylist源码,泛型被大量使用
自定义泛型类(掌握)
泛型通配符(了解)当使用泛型类或者接口时,传递的数据中,泛型类型不确定,可以通过通配符>表示。但是一旦使用泛型的通配符后,只能使用Object类中的共性方法,集合中元素自身方法无法使用。
通配符基本使用泛型的通配符:不知道使用什么类型来接收的时候,此时可以使用?,?表示未知通配符。
举个例子大家理解使用即可:
public static void main(String[] args) {
Collection list1 = new ArrayList();
getElement(list1);
Collection list2 = new ArrayList();
getElement(list2);
}
public static void getElement(Collection> coll){}
//?代表可以接收任意类型
通配符高级使用----受限泛型tips:泛型不存在继承关系 Collection list = new ArrayList();这种是错误的。
之前设置泛型的时候,实际上是可以任意设置的,只要是类就可以设置。但是在JAVA的泛型中可以指定一个泛型的上限和下限。
泛型的上限:
格式: 类型名称 extends 类 > 对象名称
例如:? extends Person :?代表的是一种类型,当前这个类型可以是Person本身,也可以是Person的子类。
意义: 只能接收该类型及其子类
泛型的下限:
格式: 类型名称 super 类 > 对象名称
例如: ? super Student :?代表当前的类型可以是Student类型,也可以是Student的父类类型。
意义: 只能接收该类型及其父类型



