我尝试了以下代码
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;
但得到同样的错误.. 请帮助!!
答案 0 :(得分:0)
试试这个:
Set<Map.Entry<String, String>> set = answers.entrySet();
Iterator<Map.Entry<String, String>> itr = set.iterator();
这里Map.Entry
是Map的子接口。因此我们将通过Map.Entry
名称访问它。它提供了获取密钥和值的方法。