泛型
为什么要有泛型
1、解决元素存储的安全性问题
2、解决获取元素时候,需要强制转换的问题
泛型的几个重要作用:
1、在集合中使用泛型
2、使用泛型类
3、泛型方法
4、泛型接口
泛型方法:
[访问权限] <泛型> 返回类型 方法名(泛型标识符 参数名称){}
使用类型的通配符:
读取List<?>的对象list中的元素都是安全的,因为不管list的真是类型是什么,它包含的都是object
不能向其中写入元素,因为我们不知道元素的类型,唯一例外的是null, 因为它是所有类型的成员
有限制的通配符:
<? extends Number>值允许泛型为Number及Number的子类的引用调用
<? super Number>只允许泛型为Number及Number的父类的引用调用
<? extends Compable>只允许实现Comparable接口的实现类的引用调用