39
 for ( SomeListElement element : objectWithList.getList() ) { ... }

上面的代码片段翻译成什么?

我最感兴趣的是该getList()方法是调用一次,还是每次迭代/元素调用?

4

2 回答 2

47

它相当于

for(Iterator<SomeListElement> i = objectWithList.getList().iterator(); 
                                                              i.hasNext(); ) {
  SomeListElement element = i.next();
  //access element here
}
于 2013-04-29T09:07:29.010 回答
26

它被翻译成下面的代码片段,并且objectWithList.getList()只被调用一次。

for (Iterator i = objectWithList.getList().iterator(); i.hasNext();) {
    SomeListElement e = (SomeListElement) i.next();
}
于 2013-04-29T09:07:15.937 回答