我有一個TreeMap的定義如下:迭代器中的Java
final TreeMap<ArrayList<String>,String> mymap = new TreeMap<ArrayList<String>,String>(comparator);
當我嘗試遍歷這樣的:
Iterator iter = (Iterator) mymap.entrySet().iterator();
while (iter.hasNext()) {
Map.Entry entry = (Map.Entry) iter.next();
}
我收到錯誤消息像的方法hasNext()對於第二行的類型ObjToIntMap.Iterator未定義,該行的多個標記 - Map.Entry是原始類型。泛型類型Map.Entry的引用應爲 參數化第3行的。
這個錯誤的來源是什麼,我該如何解決?
你不覺得TreeMap的<字符串,ArrayList的>會更好?字符串是一個鍵 –
Deepak
1.我不能用你已發佈的代碼重現錯誤2.在各處使用泛型是一個好習慣:'Iterator,String >> iter = mymap.entrySet( ).iterator();'3.做2可能會幫助你理解錯誤是什麼。 –
assylias
@Deepak,是啊我知道它看起來很奇怪,但我需要做到這一點有一個自定義比較函數.. – SexyBeast