java - 这段 Java 代码是否正确?

标签 java loops iterator

我正在与我的一位同事进行讨论(阅读论点!)。我坚持认为这段代码是非常错误的,但他认为它没有错:

for (Iterator<String> iter = collectionOfStrings.iterator(); iter.hasNext();) {
   String item = iter.next();
   ...
}

我认为这段代码是错误的,因为存在重复的循环。使用 Iterator 或使用 For 循环,但无需同时使用它们。

我会重写代码如下:

Iterator<String> iter = collectionOfStrings.iterator();
while (iter.hasNext()) {
   String item = iter.next();
   ...
}

你怎么看?

最佳答案

这两种代码都不是“错误的”,因为它们都按照预期的方式工作。第二个代码虽然等效,但会污染局部变量,因为 iter 在循环结束后仍保持定义状态。

关于java - 这段 Java 代码是否正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15478455/

相关文章:

java - 使用 DocumentListener 修改多个 JTextField

java - 运行一次迭代后,循环移动到代码中的错误位置

R:找出每一行中所有非零元素的方差

c++ - 使用 boost multi_array 迭代器在数组元素之间赋值

java - 如果我想从 AsyncTask 访问静态对象,是否需要复制它们?

java - 什么是 Kerberos 方法?

java - 微服务:Rest Template versus Client Jar

java - 如何获取我不知道的数组的索引?

c++ - 列表迭代器不可递增

python - Python 中是否可以在循环中跳过固定次数的迭代?