Что для каждого выражения в Java переводится? for ( SomeListElement element : objectWithList.getList() ) { ... } Каков приведенный выше фрагмент? В основном меня интересует метод getList(), вызываемый один раз, или с каждой итерацией/элементом? Ответ 1 Его эквивалент for(Iterator<SomeListElement> i = objectWithList.getList().iterator(); i.hasNext(); ) { SomeListElement element = i.next(); //access element here } Ответ 2 Он переводится ниже фрагмента кода, а objectWithList.getList() вызывается только один раз. for (Iterator i = objectWithList.getList().iterator(); i.hasNext();) { SomeListElement e = (SomeListElement) i.next(); }
Ответ 1 Его эквивалент for(Iterator<SomeListElement> i = objectWithList.getList().iterator(); i.hasNext(); ) { SomeListElement element = i.next(); //access element here }
Ответ 2 Он переводится ниже фрагмента кода, а objectWithList.getList() вызывается только один раз. for (Iterator i = objectWithList.getList().iterator(); i.hasNext();) { SomeListElement e = (SomeListElement) i.next(); }