该类型擦除页说,
如果类型参数是无界的,则用泛型或对象替换泛型类型中的所有类型参数.因此,生成的字节码仅包含普通的类,接口和方法.
但是,对于以下类:
public class Foo<E extends CharSequence> {
public E something;
}
Run Code Online (Sandbox Code Playgroud)
javap -c Foo 打印:
public class Foo<E extends java.lang.CharSequence> {
public E something;
}
Run Code Online (Sandbox Code Playgroud)
为什么type参数不会被绑定(CharSequence)替换,而是保存为E?