是的,它将在每次循环迭代时逻辑上评估整个中间操作数。当然,如果JIT知道的更好,它可以做一些聪明的事情(甚至可能根据循环条件在循环中删除数组边界检查)。
请注意,对于JIT未知的类型,它可能无法像这样专门进行优化-但仍可能内联诸如获取
size()of的内容
ArrayList<T>。
最后,我通常更喜欢增强的for循环以提高可读性:
for (int value : tenBig) { ...}当然,这是假设您出于其他原因不需要索引。

是的,它将在每次循环迭代时逻辑上评估整个中间操作数。当然,如果JIT知道的更好,它可以做一些聪明的事情(甚至可能根据循环条件在循环中删除数组边界检查)。
请注意,对于JIT未知的类型,它可能无法像这样专门进行优化-但仍可能内联诸如获取
size()of的内容
ArrayList<T>。
最后,我通常更喜欢增强的for循环以提高可读性:
for (int value : tenBig) { ...}当然,这是假设您出于其他原因不需要索引。