常用的通配符有: T,E,K,V,?。
各标记符含义如下:
- T - Type(Java 类)
- E - Element (在集合中使用,因为集合中存放的是元素)
- K - Key(键),一般用在Map比较多。
- V - Value(值)
- ? - 表示不确定的java类型。
- N - Number(数值类型)
1. 泛型是JDK1.5加入的,兼容其他版本,采取“伪泛型”策略,即在编译阶段会进行所谓的“类型擦除”。
2. 泛型提供了编译时类型安全检测机制,即在编译时检测到非法的类型,所操作的数据类型被指定为一个参数;
3. 参数类型可以用在类、接口和方法中,称为泛型类、泛型接口、泛型方法。
泛型中的类型在使用时指定,不需要强制类型转换(类型安全,编译器会检查类型)。
list中的元素都是Object类型(无法约束其中的类型),所以在取出集合元素时需要人为的强制类型转化到具体的目标类型。很容易出现java.lang.ClassCastException异常(类转换异常)。