// inside my class
public void playRound() {
Iterator<Player> itr = players.iterator();
while(itr.hasNext()){
Player player =itr.next();
player.play(par);
}
// Supply this code!
}
它说:“主线程” java.lang.Error中的异常:未解决的编译问题:
迭代器无法解析为类型
迭代器不是内置函数吗?
我被迫进口:
import java.util.Iterator;
如果我想解决此问题,有一种方法可以避免导入Iterator。
我不能简单地导入Iterator甚至节省很多时间的原因是因为对于我的项目,除import java.util.ArrayList之外,我不允许导入其他任何内容;
此外,我正在使用eclipse编写我的代码。
最佳答案
一句话-不。 Iterator
没有什么“神奇”的东西。它是java.util
包中的一个类,如果要使用它,则应导入它或引用其完全限定名称:
java.util.Iterator<Player> itr = players.iterator();
但是我想这也是您的要求所禁止的。相反,您可以只使用增强的
for
循环:for (Player player : players) {
player.play(par);
}
编辑:
正如@yshavit在注释中指出的那样,由于
players
是List
而不是任何旧的Iterable
,因此您可以直接通过它们的索引访问元素,这意味着您还可以使用“旧式” for
循环:for (int i = 0; i < players.size(); ++i) {
players.get(i).play(par);
}
关于java - 迭代器不是内置函数吗,为什么必须导入它?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40446362/