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

时间:2014-06-17 12:11:42

标签: java netbeans guava

我有以下Java代码

ImmutableList<Element> elements = ...;

for (Element e : elements) {
    e.doSomething();
}

其中ImmutableListpart of the Guava library。 NetBeans建议我使用`Convert to for(Iterator ...){}&#39;来转换代码。导致以下转变的建议

ImmutableList<Element> elements = ...;

for (Iterator<Element> it = elements.iterator(); it.hasNext();) {
    Element e = it.next();
    e.doSomething;
}

我没有看到这种转变的原因。我使用的是Java 1.7和NetBeans 7.4。有人可以启发我吗?

1 个答案:

答案 0 :(得分:5)

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

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

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