泛型:
(1)泛型概述
是一种把明确类型的工作推迟到创建对象或者调用方法的时候才去明确的特殊的类型。
(2)格式:
<数据类型>
注意:该数据类型只能是引用类型。
(3)好处:
A:把运行时期的问题提前到了编译期间
B:避免了强制类型转换
C:优化了程序设计,解决了黄色警告线问题,让程序更安全
(4)泛型的前世今生
A:泛型的由来
Object类型作为任意类型的时候,在向下转型的时候,会隐含一个转型问题
B:泛型类:把泛型定义在类上
C:泛型方法:把泛型定义在方法上
D:泛型接口:把泛型定义在接口上
E:泛型高级通配符
?:任意类型,如果没有明确,那么就是Object以及任意的Java类了
? extends E:向下限定,E及其子类
? super E:向上限定,E极其父类
(5)在哪里使用呢?
一般是在集合中使用。
// JDK7的新特性:泛型推断。不建议
// ArrayList<Student> array = new ArrayList<>();
ArrayList<Student> array = new ArrayList<Student>();