Java泛型与类型擦除的理解:何为类型擦除?何时会发生类型擦除?

原创 客官°小女子只卖身不卖艺 2024-09-29 06:18 137阅读 0赞

在Java编程中,”类型擦除”(Type Erasure)是指一种编译过程,使得泛型代码在运行时看起来就像是没有使用任何类型参数的普通Java代码。

以下几点会触发类型擦除:

  1. 运行时:当一个带有泛型方法调用的类实例化为对象,并通过引用调用该方法时,类型擦除会进行。

  2. 直接赋值:将泛型容器(如List)内容直接赋值给非泛型类型的变量,也会触发类型擦除。

  3. 转换操作:当一个泛型对象被强制类型转换为非泛型类型时,类型擦除同样会进行。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,137人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java类型

    类型擦除: Java的泛型是伪泛型,这是因为Java在编译期间,所有的泛型信息都会被擦掉,正确理解泛型概念的首要前提是理解类型擦除。Java的泛型基本上都是在编译器这个层次

    相关 Java-类型

    Java泛型-类型擦除 一、概述 Java泛型在使用过程有诸多的问题,如不存在List.class, List不能赋值给List(不可协变),奇怪的ClassCastE