NetBeans`转换为for(Iterator ...){}'建议

oox*_*oxi 0 java netbeans guava

我有以下Java代码

ImmutableList<Element> elements = ...;

for (Element e : elements) {
    e.doSomething();
}
Run Code Online (Sandbox Code Playgroud)

哪里ImmutableList番石榴图书馆的一部分.NetBeans建议我使用`Convert to for(Iterator ...){}'建议来转换代码,这会导致以下转换

ImmutableList<Element> elements = ...;

for (Iterator<Element> it = elements.iterator(); it.hasNext();) {
    Element e = it.next();
    e.doSomething;
}
Run Code Online (Sandbox Code Playgroud)

我没有看到这种转变的原因.我正在使用Java 1.7和NetBeans 7.4.有人可以开导我吗?

Don*_*oby 5

像这样的转换有时值得做其他事情的第一步,这就是为什么你的IDE为你提供了一个简单的方法来正确地做到这一点.

如果您要完全按照给定的格式保留代码,则没有理由进行转换.它是等效的代码.我个人宁愿把它留在更简洁和富有表现力的每种形式.

如果你需要改变你的循环以便它做一些更复杂的事情,比如在遍历它时从列表中删除,正确的方法是使用迭代器,它可以很容易地添加到转换后的代码中.