关于oop:Java编译器如何为较低边界的通配符执行类型擦除?

How does the Java compiler perform type erasure for lower bounded wildcards?

在编译具有泛型类型的源代码时,Java编译器自动执行类型擦除,用合适的原始类型替换泛型声明。

根据Oracle文档,此擦除将上绑定通配符替换为t。这非常适合于动态多态性。

但是,如果看到每个类都有一个通用的超类(对象),那么如何对下界通配符执行这种擦除操作,使用它会破坏整个目的?


对于超级类型,它将擦除为对象类型。仅用于编译时验证。