我一直无法将增强的for
循环转换为标准for
循环。以下是我想要更改为标准for
循环结构的增强型for
循环:
for (Thing cp: getPerson().getEnemy().getMinions())
{
if (cp.canMoveTo(this.getLocation()) && cp.getLocation() != null)
{
return true;
}
}
return false;
}
如何将其更改为标准for
循环?
答案 0 :(得分:3)
enhanced for
statement可以循环遍历数组和任何类型的Iterable
对象,因此答案取决于getMinions
是返回数组还是Iterable
对象。
如果它返回一个数组,那么:
Thing[] minions = getPerson().getEnemy().getMinions();
for (int i = 0; i < minions.length; ++i) {
Thing cp = minions[i];
// ...
}
如果它返回Iterable
,则:
Iterator<Thing> it = getPerson().getEnemy().getMinions().iterator();
while (it.hasNext()) {
Thing cp = it.next();
// ...
}