1. 程式人生 > 其它 >List<?>和List<Class<?>>區別及泛型相關 List<?>和List<Class<?>>區別及泛型相關

List<?>和List<Class<?>>區別及泛型相關 List<?>和List<Class<?>>區別及泛型相關

 

List<?>和List<Class<?>>區別及泛型相關

?表示是任意型別,但是編譯器不能確定他是什麼型別,所以你add的時候什麼引數也不能傳給它
Class<?>表示任意型別的Class物件,list裡面可以新增任何型別的Class物件,其它的物件不能新增,也就是隻能新增類似list.add(string.class)這種。

http://www.cnblogs.com/lwbqqyumidi/p/3837629.html

 

泛型,即引數化型別,泛型擦除:Java 編譯器生成的位元組碼檔案不包含有泛型資訊,泛型資訊將在編譯時被擦除,這個過程稱為泛型擦除。其主要過程為 1)將所有泛型引數用其最左邊界(最頂級的父型別)型別替換;2)移除 所有 的型別引數。

?表示是任意型別,但是編譯器不能確定他是什麼型別,所以你add的時候什麼引數也不能傳給它
Class<?>表示任意型別的Class物件,list裡面可以新增任何型別的Class物件,其它的物件不能新增,也就是隻能新增類似list.add(string.class)這種。

http://www.cnblogs.com/lwbqqyumidi/p/3837629.html

 

泛型,即引數化型別,泛型擦除:Java 編譯器生成的位元組碼檔案不包含有泛型資訊,泛型資訊將在編譯時被擦除,這個過程稱為泛型擦除。其主要過程為 1)將所有泛型引數用其最左邊界(最頂級的父型別)型別替換;2)移除 所有 的型別引數。