Java泛型类型擦除

Java泛型类型擦除

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

类型擦除规则

  • 用通用类型的类型参数替换其绑定的有界类型参数。
  • 如果使用无界类型参数,则使用Object替换类型参数。
  • 插入类型转换以保护类型安全。
  • 生成桥接方法以在扩展通用类型中保持多态。