【问题标题】:java.util.Map.Entry cannot be resolved errorjava.util.Map.Entry 无法解析错误
【发布时间】:2018-05-18 06:34:59
【问题描述】:

我尝试了以下代码

package collectconstructor;
import java.util.Iterator;  
import java.util.Map;  
import java.util.Set;  

public class QuestionMap {

private int id;  
private String name;  
private Map<String,String> answers;  


public QuestionMap(int id, String name, Map<String, String> answers) {  
    super();  
    this.id = id;  
    this.name = name;  
    this.answers = answers;  
}  

public void displayInfo(){  
    System.out.println("question id:"+id);  
    System.out.println("question name:"+name);  
    System.out.println("Answers....");  
    Set<Entry<String, String>> set=answers.entrySet();  
    Iterator<Entry<String, String>> itr=set.iterator();  
    while(itr.hasNext()){  
        Entry entry= itr.next();  
        System.out.println("Answer:"+entry.getKey()+" Posted By:"+entry.getValue());  
    }  
}  

}

这里在下面的代码sn-p

 Set<Entry<String, String>> set=answers.entrySet();  
 Iterator<Entry<String, String>> itr=set.iterator(); 

我得到的错误是

这一行有多个标记

  • 类型 Map 中的方法 entrySet() 引用了缺失的类型 地图$Entry

  • 无法将条目解析为类型

谁能解释为什么我会收到这个错误?

我也尝试过导入

import java.util.Map.Entry;

但得到同样的错误.. 请帮忙!!

【问题讨论】:

  • Set&lt;Map.Entry&lt;String, String&gt;&gt; set=answers.entrySet(); 应该可以工作..
  • 我知道你问这个问题已经有一段时间了,但这个答案可能会有所帮助stackoverflow.com/questions/24110620/…

标签: spring string dictionary inversion-of-control entryset


【解决方案1】:

试试这个:

Set<Map.Entry<String, String>> set = answers.entrySet();  
Iterator<Map.Entry<String, String>> itr = set.iterator();  

这里Map.Entry是Map的子接口。所以我们将通过Map.Entry 名称访问它。它提供了获取键和值的方法。

【讨论】:

  • 显示Map.Entry无法解析为类型的错误。
  • @NDT 我已经在 eclipse 编辑器中测试过了,它没有显示任何错误。您是否也在 while 循环中更改了 Map.Entry entry= itr.next(); ?让我知道在所有这 3 次更改之后它是否仍然显示相同的错误。
  • 那我认为问题出在其他地方,你最好用完整的代码编辑你的问题,然后只有我能帮你。
猜你喜欢
  • 1970-01-01
  • 2011-02-23
  • 2018-03-08
  • 2018-07-14
  • 1970-01-01
  • 2023-03-20
  • 2021-12-30
  • 2011-06-26
  • 1970-01-01
相关资源
最近更新 更多