我以爲java擦除擦除編譯時的泛型類型,但是當我自己測試它時,我意識到有一些關於字節碼中的泛型類型的信息。Java類型擦除擦除我的泛型?
這裏是我的測試:
我寫了2類:
import java.util.*;
public class Test {
List integerList;
}
和
import java.util.*;
public class Test {
List<Integer> integerList;
}
我編譯的類和介於通用類我看到這條線
integerList{blah blah}Ljava/util/List;{blah blah}
Signature{blah blah}%Ljava/util/List<Ljava/lang/Integer;>;{blah blah}<init>
in no n通用類:
integerList{blah blah}Ljava/util/List;{blah blah}<init>
所以很明顯,我有字節碼內的通用信息,所以這個擦除的東西是什麼?
這是誤導。元數據仍然僅用於反思。它沒有通過。 – Antimony