考虑:
List<String> someList = new ArrayList<String>();
// add "monkey", "donkey", "skeleton key" to someList
for (String item : someList) {
System.out.println(item);
}
如果不使用 for each 语法,等效的 for
循环会是什么样子?
原文由 Jay R. 发布,翻译遵循 CC BY-SA 4.0 许可协议
请注意,如果您需要在循环中使用
i.remove();
,或以某种方式访问实际的迭代器,则不能使用for ( : )
成语,因为实际的迭代器只是推断出来的。正如 Denis Bueno 所指出的,此代码适用于实现
Iterable
接口 的任何对象。此外,如果
for (:)
习语的右侧是array
而不是Iterable
对象,则索引使用内部代码检查array.length
代替。请参阅 Java 语言规范。