在这种情况下,将数组的长度放入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]);
}
答案 0 :(得分:5)
AFAIK,一个不错的编译器,编译器会为你做这个优化
即使不是,打击也是最小的。使用Vector
可能会遭受更多的痛苦。见Why is Java Vector class considered obsolete or deprecated?
答案 1 :(得分:1)
编译器很聪明,相信它。它会优化它。
不要在这样的性能问题上浪费时间,更担心数据结构等其他问题。