2012-09-01 20 views
1

我試圖在java中創建一個基本的庫存系統。所有map的所有鍵的項目延伸UsableItem類。例如,Tophat extends UsableItem。問題是我無法將myTophat項目/對象保存到其中,但沒有生成密鑰類型Tophat,因此無法存儲其他類型的項目。如何讓我的map存儲所有延伸到UsableItem的內容?地圖中的擴展類(java)

回答

3

的強大優勢,可以聲明這樣說:

Map<UsableItem, SomeObject> map; 

然後你就可以添加鍵無論是UsableItem或其子類型的任何對象。

+0

剛試過,它的工作原理。非常感謝! – tehwalris

+0

我知道,我必須先等10分鐘,然後忘記,對不起。 – tehwalris

0

您可以使用Java泛型 「通配符」

HashMap<? extends UsableItem, Integer> 

或者

HashMap<T extends UsableItem, Integer> 
+1

爲什麼'? extends'? – tehwalris