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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容