for ( SomeListElement element : objectWithList.getList() ) { ... }
Run Code Online (Sandbox Code Playgroud)
上面的代码片段是什么?
我最感兴趣的是如果getList()方法调用一次,还是每次迭代/元素?
Sur*_*tta 47
它相当于
for(Iterator<SomeListElement> i = objectWithList.getList().iterator();
i.hasNext(); ) {
SomeListElement element = i.next();
//access element here
}
Run Code Online (Sandbox Code Playgroud)
san*_*hat 26
它被转换为下面的代码片段,并且objectWithList.getList()只被调用一次.
for (Iterator i = objectWithList.getList().iterator(); i.hasNext();) {
SomeListElement e = (SomeListElement) i.next();
}
Run Code Online (Sandbox Code Playgroud)