ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

java基础学习: 什么是泛型的类型擦除

2026/9/13 20:45:03 拓冰建站 浏览量
java基础学习: 什么是泛型的类型擦除

文章目录

  • 一、什么是泛型
    • 2、Object是否可以代替泛型
    • 3、泛型的优点
  • 二、泛型的定义
    • 1、泛型类
    • 2、泛型接口
    • 3、泛型方法
  • 三、泛型通配符
    • 1、泛型的上界通配符
    • 2、泛型的下界通配符
  • 四、PECS原则
  • 五、泛型的类型擦除

一、什么是泛型

泛型起到的作用就是将类型参数化,在不创建新类的情况下通过创建对象实例或应用时确定具体的数据类型,以提高代码的复用性以及用以解决类型爆炸问题。

例如集合类中使用了泛型,可以存储任意的对象,这些对象公用集合类中定义的方法和处理逻辑,不需要为每个对象重新定义集合类,实现了代码复用以及防止了类型爆炸问题。
在这里插入图片描述
例如ArrayLlist泛型类,虽然在实例化对象时可以指定具体的泛型变量类型,但是都对应同一个类对象:
在这里插入图片描述
上面的代码声明了两个ArrayList实例对象并指定的具体的泛型值,从上面的代码的运行结果来看它们具有相同的class对象。strList和intList在编译时是两个不同的类型,但是在编译完成后会进行类型擦除,我们可以使用java反编译工具进行类型擦除验证:
执行命令:jad -sJava Demo.class
结果:
在这里插入图片描述
通过上面的实验,可以得到的结论就是在进行代码编译后进行了泛型的类型擦除操作。

2、Object是否可以代替泛型

3、泛型的优点

二、泛型的定义

泛型可以定义在类、接口和方法中,分别称为泛型类、泛型接口和泛型方法

1、泛型类

2、泛型接口

3、泛型方法

三、泛型通配符

1、泛型的上界通配符

2、泛型的下界通配符

四、PECS原则

五、泛型的类型擦除