java的泛型

1. 泛型是什么


​ Java泛型是J2 SE1.5中引入的一个新特性,其本质是参数化类型,也就是说所操作的数据类型被指定为一个参数(type parameter),   这种参数类型可以用在类、接口和方法的创建中,分别称为泛型类、泛型接口、泛型方法

泛型的本质是为了参数化类型(通过泛型指定的不同类型来控制形参具体限制的类型)。

2.泛型的好处

类型安全
使用泛型定义变量的类型约束,编译器可以在非常高的层次上验证类型假设。类型错误就可以在编译时被捕获了,有助于Java开发人员更早、更容易地找到错误,提高程序的可靠性。

消除强制类型转换

泛型的一个附带好处是,消除源代码中的许多强制类型转换

避免不必要的拆装箱

​ 避免了不必要的装箱、拆箱操作,提高程序的性能。

3. 泛型的使用

泛型的三种使用方式:泛型类泛型方法泛型接口

java的泛型_第1张图片

 

java的泛型_第2张图片

 

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博客

你可能感兴趣的:(java,jvm,开发语言)