2

这是我宣布我的清单的方式。当它应该在我的一个列表中返回一对(这是一个字符串,int 对)时,it.next() 似乎正在返回我的集合。有任何想法吗?方法 getFirst() 对于 Object 类型是未定义的。似乎如果我这样做,它会解决这个问题。

字符串 m=((对) 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
    }
}
4

2 回答 2

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

当然,你必须用成对的集合来填充地址列表,这样才能做一些有用的事情。

于 2012-07-16T22:14:13.107 回答
1

确保删除 while 循环内行尾的额外括号。它应该看起来像这样

String m = it.next().getFirst();

于 2012-07-16T22:23:10.603 回答