【发布时间】:2013-08-09 18:42:44
【问题描述】:
Java 有不同的for-loops 来遍历列表。例如:
public void myMethod(List list) {
for (int i = 0; i <= list.size(); i++) {
...
}
}
或者,我们可以这样写:
public void myMethod(List list) {
for (String obj : list) {
...
}
}
或者,我们可以使用列表迭代器:
public void myMethod(List list) {
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
...
}
}
哪一个最好并且无需更多代码就可以阻止NullPointerExceptions?
【问题讨论】:
-
不知道你在问什么。您似乎知道不同的类型,只需使用您想要的。
-
性能或功能上的区别?
-
现在你清楚我要问的还是大家都清楚
-
好吧,有了第一个样本,您就可以访问索引 (
i)。在第三个示例中,您可以更好地控制迭代。如果这些优势都不重要,您应该使用第二个示例 -
@subodh: 尊敬的,你应该求助于解释得很清楚的 Java 文档:docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html 另外,以后再搜索 SO,因为这个问题已经被问过无数次了。