【发布时间】:2013-04-22 21:29:13
【问题描述】:
for ( SomeListElement element : objectWithList.getList() ) { ... }
上面的sn-p翻译成什么?
我最感兴趣的是 getList() 方法是调用一次,还是每次迭代/元素调用一次?
【问题讨论】:
-
这是
Iterator解决方案的简写。 -
在提出这个问题之前,您进行了哪些研究?语言规范似乎是一个显而易见的地方,它非常清楚地给出了答案。 docs.oracle.com/javase/specs/jls/se7/html/…
-
你不能自己试试在 getList 上添加一个副作用吗?
-
@JonSkeet 我偶然发现了这一点,并引起了我的注意:
for-each,在规范中,在文档中(不同的 JDK 文档)甚至在许多书籍中都被提及作为“语法糖/增强的 for 循环”,用于迭代 Iterable 集合,这很有意义。甚至this doc 都体现了Iterable,对应的字节码(foreach vs. for)超级相似。我想知道 foreach 真的在幕后使用iterator()还是......你的链接说它也用于数组......嗯。