java.util.Map.Entry无法解析错误

时间:2018-05-18 06:34:59

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

我尝试了以下代码

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());  
    }  
}  

}

以下代码段

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

我收到错误

此行有多个标记

  • Map类型中的方法entrySet()指的是缺少的类型  地图$记录

  • 无法将条目解析为类型

任何人都可以解释为什么我收到此错误?

我也尝试导入

import java.util.Map.Entry;

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

1 个答案:

答案 0 :(得分:0)

试试这个:

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

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