我有一个如下的集合:
final List list = new ArrayList(3);
做下面的事情是否有效
for (final Iterator iter = list.iterator(); iter.hasNext();)
{
// do something
}
OR
for(final Object obj : list){
// do something
}
答案 0 :(得分:5)
第二个例子只是第一个例子的快捷语法。它们基本上是相同的(假设您在final Object obj = iter.next();
循环中调用for
)。
更常用的是快捷语法,称为“for-each”或“enhanced for”,因为它更干净,更直观,并且Péter Török notes可以避免潜在的错误。我只推荐使用简单的语法,因为它具有更大的灵活性。
有关详细信息,请参阅此文章:http://docs.oracle.com/javase/1.5.0/docs/guide/language/foreach.html