Java泛型与类型擦除的理解:何为类型擦除?何时会发生类型擦除?
在Java编程中,”类型擦除”(Type Erasure)是指一种编译过程,使得泛型代码在运行时看起来就像是没有使用任何类型参数的普通Java代码。
以下几点会触发类型擦除:
运行时:当一个带有泛型方法调用的类实例化为对象,并通过引用调用该方法时,类型擦除会进行。
直接赋值:将泛型容器(如List
)内容直接赋值给非泛型类型的变量,也会触发类型擦除。 转换操作:当一个泛型对象被强制类型转换为非泛型类型时,类型擦除同样会进行。
还没有评论,来说两句吧...