Я всегда была проблема перевод усиленная for
цикла в стандарт for
цикла. Вот расширенная for
цикла, что я хочу изменить в стандарт for
структуры циклы:
for (Thing cp: getPerson().getEnemy().getMinions())
{
if (cp.canMoveTo(this.getLocation()) && cp.getLocation() != null)
{
return true;
}
}
return false;
}
Как я могу изменить это в качестве стандарта for
цикла?
Усиленный оператор for
может циклически перебирать массивы и любой тип объекта 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();
// ...
}
getMinions()
?