的type erasure page說爲什麼這個類型參數保存在字節碼中?
在泛型類型與他們的區域或對象替換所有類型的參數,如果該類型參數是無限的。因此,生成的字節碼只包含普通的類,接口和方法。
然而,對於下面的類:
public class Foo<E extends CharSequence> {
public E something;
}
javap -c Foo
打印:
public class Foo<E extends java.lang.CharSequence> {
public E something;
}
爲什麼類型參數不符合綁定(CharSequence的)取代,但保留爲E?