只调用array.length两次int i = array.length有什么好处吗?

ali*_*ind 1 java arrays compiler-construction optimization

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

没有int:

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

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]);
}
Run Code Online (Sandbox Code Playgroud)

Ita*_*aro 5

AFAIK,一个不错的编译器,编译器会为你做这个优化.
即使不是,但命中率也很低.您可能会因使用而遭受更多痛苦Vector.请参阅为什么Java Vector类被认为已过时或已弃用?