LinkedHashMap<Integer,LinkedList> myMap = new LinkedHashMap<Integer,LinkedList>();
for(Map.Entry<Integer,LinkedList> entry : myMap.entrySet()){
/*Does Not Work- Incompatible Object Type */
for(Integer temp : entry.getValue()){
arr[i] = temp;
i++;
}
/* Works Fine */
LinkedList<Integer> templist = entry.getValue();
for(Integer temp : templist ){
arr[i] = temp;
i++;
}
}
答案 0 :(得分:0)
LinkedHashMap
的值是原始类型 - LinkedList
。将其更改为通用类型 - LinkedList<Integer>
。
LinkedHashMap<Integer,LinkedList<Integer>> myMap = new LinkedHashMap<>();
for(Map.Entry<Integer,LinkedList<Integer>> entry : myMap.entrySet()) {
for(Integer temp : entry.getValue()) {
arr[i] = temp;
i++;
}
}
这样编译器知道entry.getValue()
是LinkedList<Integer>
,因此迭代LinkedList
必须返回Integer
而不是Object
。< / p>