以下是我如何申报我的名单。当它应该在我的一个列表中返回一对(这是一个字符串,int对)时,it.next()似乎正在返回我的set。有任何想法吗? 对于Object类型,方法getFirst()是未定义的。似乎如果我这样做,它就修复了这个问题。
String m =((Pair)it.next())。getFirst();
List <HashSet<Pair>> addresses = new ArrayList <HashSet<Pair>> ();
for (int i = 0; i < 100; i++) {
Iterator it = (addresses.get(i)).iterator();
while (it.hasNext()){
String m = it.next().getFirst()); //getFirst returns a string
}
}
答案 0 :(得分:6)
试试这个,它编译得很好:
List<Set<Pair>> addresses = new ArrayList<Set<Pair>>();
// fill the list of addresses
for (int i = 0; i < 100; i++) {
Iterator<Pair> it = addresses.get(i).iterator();
while (it.hasNext()) {
String m = it.next().getFirst();
}
}
当然,您必须使用上述对的集合填充地址列表以执行有用的操作。
答案 1 :(得分:1)
确保删除while循环内部行末尾的额外括号。看起来应该是这样的
String m = it.next().getFirst();