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



在这种情况下,将数组的长度放入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]);
}

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]);
}

AFAIK是一个不错的编译器,编译器会为您进行优化
即使没有,打击也很小。您可能会因为使用Vector而遭受更多的痛苦。请参阅为什么Java Vector类被视为过时或弃用?

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

不要在像这样的性能问题上浪费时间,更多地担心数据结构等其他问题。。

最新更新