2017-02-01 96 views
0

朋友們!我決定閱讀更多關於泛型的知識,並且我陷入了wiki泛型類Java - 如何理解?

一個是通用的,如果它聲明一個或多個類型變量。這些類型變量被稱爲類的類型參數。它定義了一個或多個作爲參數的類型變量。泛型類聲明定義了一組參數化類型,用於每個可能的類型參數部分的調用。所有這些參數化類型在運行時共享相同的類。

因此,我們有一句

泛型類聲明中定義了一組參數類型,一個類型參數部分的每個可能的調用。

我怎麼理解它?當我們用具體類型參數創建泛型類的實例(創建參數化類型我的意思是,Box<Integer> test = new Box<Integer>();)時,在此刻,此參數化類型調用類型參數本身類Box<T>{}

我理解它嗎?

回答

2

這是正確的,泛型類型是一種類型的一個或多個字段的類型是使用而不是在聲明中定義。

所以,如果你有一個List<T>,你可以有一個因List<Cat>List<Dog>

還是爲了字典

AClassWithTwoDifferentTypes<K,V> 
AClassWithTwoDifferentTypes<Integer,String> 
AClassWithTwoDifferentTypes<Integer,Integer> 
AClassWithTwoDifferentTypes<String,String> 
+0

請不要用'Dictionary'爲例,它的用法是氣餒(到它的實現HashTable)。只是'Map'怎麼樣? – rkosegi

+0

我沒有提到任何特定的字典實現,但我確實認識到這是一個常見的集合名稱。如果它可以幫助你更好地睡眠,你可以將它想象爲地圖界面。 – awiebe

+0

從'Dictionary'的javadocs:**注意:這個類已經過時。新的實現應該實現Map接口,而不是擴展這個類**。因此,使用過時的課程給OP提供建議並沒有幫助我睡得更好。 – rkosegi