【发布时间】:2010-10-05 15:49:34
【问题描述】:
当我使用对象的迭代器时,我会使用 while 循环(正如每本学习 Java 的书中所写的那样,如 Bruce Eckel 的 Thinking in Java):
Iterator it=...
while(it.hasNext()){
//...
}
但有时我看到有人使用 for 循环:
Iterator it=...
for (Iterator it=...; it.hasNext();){
//...
}
我不明白这个选择:
- 我使用 for 循环,当我有一个带有序数序列(作为数组)的集合或具有特定步骤规则(通常声明为简单增量
counter++)的集合时。 - 当循环结束时,我使用 while 循环,但我没有这个约束,只有退出的逻辑条件。
这是一个没有其他原因的样式编码问题,或者它存在一些我不知道的其他逻辑(例如性能)?
感谢您的每一个反馈
【问题讨论】:
-
在stackoverflow.com/questions/2598219/…中有一个将
Iterator转换为兼容for-each循环Iterable的例子
标签: java iterator for-loop while-loop