我建立了一個Java類,它接收一個通用對象;編譯器警告關於調用時的原始類型地圖#put()
類唯一字段設置爲:
private Map map = new HashMap<T,Integer>();
我的問題是,有些方法的過程中我寫的,當我呼籲HashMap對象和編譯器put
方法警告我,diaplay以下消息:
類型安全:方法
put(Object, Object)
屬於原始類型HashMap。參考通用類型Map<K,V>
應參數化
我更喜歡避免編譯器警告,因爲它可能以運行時錯誤結束。
如果你能向我解釋信息,以及我需要做什麼來消除它,我會很高興。
我寫的方法是:
public void addItem(T item) {
if (this.map.containsKey(item)) {
this.map.put(item, (int)this.map.get(item) + 1);
}
else {
this.map.put(item, 1);
}
}
,在這裏你能看到的編譯器抱怨:
我不相信你真的得到了你所說的信息。我相信其實你得到了「類型安全:方法put(Object,Object)屬於原始類型** Map **」。 –