假設我有一類 和我想的地方使用它作爲一個泛型類型:java是否也在用戶定義的泛型類中實現了類型擦除?
class MyList<T>
{
T[] list=T[10];
public void add(T element)
{
list[0]=element;
}
}
編譯後,它刪除它的類型信息,如它是泛型集合的情況?
我不需要在任何地方使用這個代碼,所以請不要在發現錯誤集中。我只想通過這段代碼問一個普遍的問題,那就是編譯後會列出實例變量是Object類的類型。
好,在這種情況下,它不會,因爲該代碼將不會編譯:你無法創建一個通用的陣列,以及類的參數不匹配,其變量其實 – kdgregory 2009-06-10 11:50:29
的參數,在這段代碼根本沒有創建通用數組......我沒有在那裏看到任何「新」: - ) – 2009-06-10 13:10:22
T implicity擴展了Object,因此即使在編譯期間T也只是一個具有少量編譯時間檢查的對象。 – 2010-07-22 22:25:59