1.泛型类和泛型方法的定义
- 泛型:参数化的类型
- 泛型的好处就是:
适用于多种数据类型执行相同的代码
泛型中的类型在使用时指定,不需要强制类型转换 - 泛型类 泛型类
- 泛型方法 泛型方法
2.泛型的限定类型变量
T extends Comparable
T表示应该绑定类型的子类型,Comparable表示绑定类型,子类型和绑定类型可以是类也可以是接口。
extends左右都允许有多个,如 T,V extends Comparable & Serializable
3.泛型中的约束和局限性
- 不能用基本类型实例化类型参数
- 运行时类型查询只适用于原始类型
- 泛型类的静态上下文中类型变量失效
- 不能创建参数化类型的数组
- 不能实例化类型变量
- 不能捕获泛型类的实例 但是这样可以
4.通配符类型
- ? extends X 表示类型的上界,类型参数是X的子类
主要用于安全地访问数据,可以访问X及其子类型,并且不能写入非null的数据。 - ? super X 表示类型的下界,类型参数是X的超类
主要用于安全地写入数据,可以写入X及其子类型。 - 无限定的通配符 ?
5.虚拟机是如何实现泛型的?
泛型技术实际上是Java语言的一颗语法糖,Java语言中的泛型实现方法称为类型擦除,基于这种方法实现的泛型称为伪泛型。
网友评论