如何理解和使用Java中的增强型for循环foreach?
for (Iterator<String> i = someIterable.iterator(); i.hasNext();) { String item = i.next(); System.out.println(item); }
请注意,如果你需要i.remove();在循环中使用或以某种方式访问实际的迭代器,则不能使用该for(:)惯用语,因为实际的迭代器只是推断出来的。
i.remove()
for(:)
正如Denis Bueno所指出的那样,此代码适用于实现该Iterable接口的任何对象。
同样,如果for(:)习惯用法的右侧是一个array而不是一个Iterable对象,则内部代码将使用一个int索引计数器并进行检查array.length。请参阅Java语言规范。
array
Iterable
int
array.length