1. 泛型是什么
Java泛型是J2 SE1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter), 这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法。
泛型的本质是为了参数化类型(通过泛型指定的不同类型来控制形参具体限制的类型)。
2.泛型的好处
类型安全
使用泛型定义变量的类型约束,编译器可以在非常高的层次上验证类型假设。类型错误就可以在编译时被捕获了,有助于Java开发人员更早、更容易地找到错误,提高程序的可靠性。
消除强制类型转换
泛型的一个附带好处是,消除源代码中的许多强制类型转换
避免不必要的拆装箱
避免了不必要的装箱、拆箱操作,提高程序的性能。
3. 泛型的使用
泛型的三种使用方式:泛型类,泛型方法,泛型接口
4. 泛型通配符
E: Element (在集合中使用,因为集合中存放的是元素)
T:Type(Java 类)
K: Key(键)
V: Value(值)
N: Number(数值类型)
通配符上界
<? extends T>,
通配符下界
<? super T>,在类型参数中使用 super 表示这个泛型中的参数必须是 E 或者 E 的父类。
无界通配符
<?>,即类型参数可以是任何类型
5.类型擦除
泛型只在编译阶段有效
Java的泛型是伪泛型,为什么说Java的泛型是伪泛型呢?因为在编译期间,所有的泛型信息都会被擦除掉,我们常称为泛型擦除
java泛型详解_程序own的博客-CSDN博客