泛型在编译时用于更严格的类型检查,并提供泛型编程。 要实现通用行为,java编译器应用类型擦除。 类型擦除是指编译器使用实际的类或桥接方法替换泛型参数的过程。 在类型擦除中,编译器确保不会创建额外的类,并且没有运行时开销。
类型擦除规则
- 用通用类型的类型参数替换其绑定的有界类型参数。
- 如果使用无界类型参数,则使用
Object
替换类型参数。 - 插入类型转换以保护类型安全。
- 生成桥接方法以在扩展通用类型中保持多态。
泛型在编译时用于更严格的类型检查,并提供泛型编程。 要实现通用行为,java编译器应用类型擦除。 类型擦除是指编译器使用实际的类或桥接方法替换泛型参数的过程。 在类型擦除中,编译器确保不会创建额外的类,并且没有运行时开销。
类型擦除规则
Object
替换类型参数。