2014-02-25 26 views
1

我正在將職員數據存儲在HashMap中。我使用以下代碼來存儲員工詳細信息。我將員工ID存儲爲鍵和員工bean作爲值。使用泛型的HashMap的正確方法

Map<String, Object> empData = new HashMap<String, Object>(); 

我的老人告訴我所用的仿製藥是不正確的。我懷疑他爲什麼這樣說。

回答

1

只需添加您的類型集合,

empData<EmpIdType,EmpBean> = new HashMap<>() 

因爲我們不想做明確的鑄造和泛型清楚。 當您訪問該值並將其分配給您需要轉換爲其類型的其他對象時。

這打破了泛型的目的。

此外,當您沒有提及泛型中的類型時,您最終可能會輸入不同的值,這不是創建的集合。

您可能會在您的empData中放入一些錯誤的類型。 說你其他candidatesId和candidatesDetail,如果創建EMPDATA當你不提的類型,你可以把

empData.put(sampleCandidatesId,sampleCandidatesDetails) 

這顯然是錯誤的。

+0

使用有什麼危害? – user2074417

+1

@ user2074417您失去了的類型安全性,並且您在代碼中強制執行很多類型轉換。 – EJP