一尘不染

如何理解和使用Java中的增强型for循环foreach?

java foreach

如何理解和使用Java中的增强型for循环foreach?


阅读 413

收藏
2020-01-07

共1个答案

一尘不染

for (Iterator<String> i = someIterable.iterator(); i.hasNext();) {
    String item = i.next();
    System.out.println(item);
}

请注意,如果你需要i.remove();在循环中使用或以某种方式访问​​实际的迭代器,则不能使用该for(:)惯用语,因为实际的迭代器只是推断出来的。

正如Denis Bueno所指出的那样,此代码适用于实现该Iterable接口的任何对象。

同样,如果for(:)习惯用法的右侧是一个array而不是一个Iterable对象,则内部代码将使用一个int索引计数器并进行检查array.length。请参阅Java语言规范。

2020-01-08