[英]Preferred Way to Reuse Variable in a Loop in Java
出于以下情况,这是重用section
向量的首选方法?
Iterator<Vector> outputIter = parsedOutput.iterator();
while(outputIter.hasNext()) {
Vector section = outputIter.next();
}
要么
Vector section = null;
while(outputIter.hasNext()) {
section = outputIter.next();
}
第二种方式意味着变量section
在循环外部可见。 如果你没有在循环之外使用它,那么就没有必要这样做,所以使用第一个选项。 就性能而言,应该没有任何明显的差异。
我更喜欢第二个版本,因为在循环结束后你的范围内没有未使用的变量。
但是,怎么样
for (Vector section: parsedOutput) {
...
}
?
如果你不使用循环外的section
,那么你的第一种风格会更好。
直观地说,我会选择解决方案的第二个变体。 但最后它几乎取决于优化器,它可能会改变你的代码。 尝试编译代码,然后查看生成的字节码以查看发生的情况。 您可以使用javap查看生成的内容或任何其他可用的反编译器。
最后,即使这样,代码也可能在运行时以其他方式进行优化。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.