以下是重用section
向量的首选方法吗?
Iterator<Vector> outputIter = parsedOutput.iterator();
while(outputIter.hasNext()) {
Vector section = outputIter.next();
}
或
Vector section = null;
while(outputIter.hasNext()) {
section = outputIter.next();
}
答案 0 :(得分:9)
第二种方式意味着变量section
在循环外可见。如果你没有在循环之外使用它,那么就没有必要这样做,所以使用第一个选项。就性能而言,应该没有任何明显的差异。
答案 1 :(得分:8)
我更喜欢第二个版本,因为在循环结束后你的范围内没有未使用的变量。
然而,
怎么样?for (Vector section: parsedOutput) {
...
}
答案 2 :(得分:0)
如果你不在循环之外使用section
那么你的第一种风格会更好。
答案 3 :(得分:0)
直观地说,我会选择解决方案的第二个变体。但最后它几乎取决于优化器,它可能会改变你的代码。尝试编译代码,然后查看生成的字节码以查看发生的情况。您可以使用javap查看生成的内容或任何其他可用的反编译器。
最后,即使这样,代码也可能在运行时以其他方式进行优化。