java - 如何通过 hashMap 调用迭代器

标签 java iterator hashmap

我需要查看我的 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/

相关文章:

java - 如何在初始化期间为 LinkedHashMap removeEldestEntry 提供自定义函数

java - 在 Java (Pre-6) TreeMap 和 Iterator 索引和下一个元素之间挣扎

collections - 如何将迭代器推送到现有向量(或任何其他集合)?

c++ - 我需要学习这些用 C++ 编写的代码

java - 初始化泛型类

java - HashMap 对象引用混淆

java - Ant 与JAXB : add "extension" and make generated classes "serializable"

java - MongoDB Java Document.get() 来自保存逗号分隔整数的键值

objective-c - NSMutableDictionary 用于巨大的 float 数据集

java - 非静态变量,不能从 main 方法中的静态上下文中引用