# 类型擦除

> 原文： [https://docs.oracle.com/javase/tutorial/java/generics/erasure.html](https://docs.oracle.com/javase/tutorial/java/generics/erasure.html)

泛型被引入到 Java 语言中，以便在编译时提供更严格的类型检查并支持泛型编程。为了实现泛型，Java 编译器将类型擦除应用于：

*   如果类型参数是无界的，则将泛型类型中的所有类型参数替换为其边界或 `Object` 。因此，生成的字节码仅包含普通的类，接口和方法。
*   如有必要，插入类型铸件以保持类型安全。
*   生成桥接方法以保留扩展泛型类型中的多态性。

类型擦除确保不为参数化类型创建新类;因此，泛型不会产生运行时开销。