我很好奇:这两个循环实现在速度和性能上是否存在差异?假设 size() 方法返回处理一组元素的数组、集合或对象的长度(实际上它来自 XOM api)。
实现 1:
int size = someArray.size();
for (int i = 0; i < size; i++) {
// do stuff here
}
实现 2:
for (int i = 0; i < someArray.size(); i++) {
// do stuff here
}
最佳答案
从性能的角度来看,差别不大。这是因为可以优化循环,以便内联 size() 查找,从而导致非常小的性能差异。
主要区别在于循环时尺寸是否发生变化。第一种情况将尝试迭代固定次数。在第二种情况下,迭代次数将取决于最终的 size()。
关于Java - for循环终止表达式之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5126325/