int i = array.length 比调用 array.length 两次有什么优势吗?

问题描述 投票:0回答:2

在这种情况下,将数组的长度放入 int 中是否有任何好处(尽管可能很小),还是简单地调用 array.length 两次更好?或者编译器优化是否使这些方法等效?

无整数:

Vector<String> vs = new Vector<String>(a_o.length);
for(int i = 0; i < a_o.length; i++)  {
   vs.add(a_o[i]);
}

int:

int iLen = a_o.length;
Vector<String> vs = new Vector<String>(iLen);
for(int i = 0; i < iLen; i++)  {
   vs.add(a_o[i]);
}
java arrays optimization
2个回答
5
投票

AFAIK,一个不错的编译器,编译器会为你做这个优化。
即使没有,影响也很小。使用

Vector
您可能会遭受更多痛苦。请参阅 为什么 Java Vector 类被认为已过时或已弃用?


1
投票

编译器很聪明,相信它。它会优化它。

不要把时间浪费在像这样的性能问题上,多担心其他事情,比如数据结构..

© www.soinside.com 2019 - 2024. All rights reserved.