📜  Java泛型-类型擦除

📅  最后修改于: 2020-11-15 04:07:17             🧑  作者: Mango


泛型用于在编译时进行更严格的类型检查,并提供泛型编程。为了实现常规行为,java编译器应用了类型擦除。类型擦除是一个过程,其中编译器将通用参数替换为实际的类或桥方法。在类型擦除中,编译器确保不创建额外的类,并且没有运行时开销。

类型擦除规则

  • 如果使用有界类型参数,则用其界域替换通用类型中的类型参数。

  • 如果使用了无界类型参数,则将通用类型的类型参数替换为对象。

  • 插入类型转换以保持类型安全。

  • 生成桥接方法以将多态保持在扩展的泛型类型中。