Java基础进阶-泛型

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语言中的泛型实现方法称为类型擦除,基于这种方法实现的泛型称为伪泛型。

你可能感兴趣的:(Java基础进阶-泛型)