泛型的意义
1、泛型提供了编译时类型安全检测机制,该机制允许程序员在编译时检测到非法的类型。泛型的本质就是参数化类型,也就是说被操作的数据类型被指定为一个参数
泛型方法
// 泛型方法 printArray
public static < E > void printArray( E[] inputArray )
泛型类
泛型类的声明和非泛型类的声明类似,除了在类后面添加了类型参数声明部分
类型通配符
1、类型通配符一般是使用?代替具体的类型参数。例如 List<?> 在逻辑上是List,List 等所有List<具体类型实参>的父类。
2、
(1)类型通配符下限通过形如 List<? super Number>来定义,表示类型只能接受Number及其三层父类类型,如 Object 类型的实例。(2)类型通配符上限通过形如List<? extends Number>来定义,如此定义就是通配符泛型值接受Number及其下层子类类型