我需要查看我的 hashMap 键和值以检查它是否正常工作。但我收到以下行的错误:
Iterator iterator = myHashMap.keySet().iterator();
Flows flows = new Flows();
while(iterator.hasNext()){
Object key = iterator.next();
Object value = myHashMap.get(key); // <--
//here is the error. suspicious call to java.util.Map.get
//expected type Flows, actual type object
System.out.println(key+" "+value);
}
我的键是 Flows 类型,我的值是 FlowsStatics。
最佳答案
您是否使用通用类型声明了 myHashMap:例如 HashMap
如果是这样,您应该始终使用泛型:
Iterator<Flows> iterator = myHashMap.keySet().iterator();
while(iterator.hasNext()){
Flows key = iterator.next();
FlowStatics value = myHashMap.get(key); // <--
甚至:
for(Flows key: myHashMap.keySet().iterator()){
FlowStatics value = myHashMap.get(key);
甚至:
for(Map.Entry<Flows, FlowStatics> entry: myHashMap.entrySet().iterator()){
Flows key = entry.getKey();
FlowStatics value = entry.getValue();
关于java - 如何通过 hashMap 调用迭代器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3482821/