我想用迭代器打印Object Reiter的A(getA()),但我似乎找不到任何有用的东西。你可以帮忙吗?
public static void main (String args[]){
LinkedList<Reiter> reiter = new LinkedList<Reiter>();
reiter.add(new Reiter(55));
reiter.add(new Reiter(30));
reiter.add(new Reiter(70));
reiter.add(new Reiter(35));
reiter.add(new Reiter(60));
reiter.add(new Reiter(45));
reiter.add(new Reiter(65));
reiter.add(new Reiter(40));
reiter.add(new Reiter(25));
reiter.add(new Reiter(50));
Iterator it = reiter.iterator();
while(it.hasNext()){
System.out.print(it.next());
}
}
class Reiter{
int a;
public Reiter(int a){
this.a = a;
}
public int getA(){
return a;
}
答案 0 :(得分:3)
您正在使用Iterator
的原始格式,它将返回Object
个。您可以使用pre-Java 1.5解决方案 - 将返回的对象强制转换为Reiter
- 或者您可以使用Iterator
的通用形式,将Reiter
作为类型参数提供给{ {1}}。
Iterator
这样您就可以将返回的对象视为Iterator<Reiter> it = reiter.iterator();
并致电Reiter
。
getA()
答案 1 :(得分:1)
在你的while循环中:
while(it.hasNext()){
System.out.print(it.next());
}
你需要打印it.next()。getA();
只需打印it.next()即可打印对象。
因此该行应更改为
System.out.print(it.next().getA());