有没有办法在 Java 的 for-each 循环中访问迭代计数器?

问题描述

不可以,但您可以提供自己的柜台。

原因是for-each循环内部没有 计数器 ;它基于Iterable接口,即它使用 anIterator循环遍历“集合”——它可能根本不是一个集合,实际上可能根本不是基于索引的东西(例如链表)。

解决方法

Java的for-each循环中有没有办法

for(String s : stringArray) {
  doSomethingWith(s);
}

找出循环已经被处理的频率?

除了使用旧的和众所周知的for(int i=0; i < boundary; i++)- 循环之外,还有构造

int i = 0;
for(String s : stringArray) {
  doSomethingWith(s);
  i++;
}

在 for-each 循环中使用这种计数器的唯一方法是什么?