这可能看起来很乏味,但我知道在 JavaScript 中,如果一个对象属性将被多次使用,则声明局部变量是优化的最佳实践。例如:var i, length = array.length;for(i = 0; i < length; i++) { console.log(length);}我很好奇在 Java 中是否会出现相同的情况,例如在这个例子中我使用了values.length两次。for(int i = 0; i < values.length && length < values.length + i; i++) { vector[i + index] = values[i];}
1 回答
茅侃侃
TA贡献1842条经验 获得超21个赞
我会说这取决于。在您的示例中,它不会改变任何内容。创建局部变量和使用length属性一样快。但是使用类中的字段并不常见,我们都使用 getter 代替这个,例如:
// not used
class Person {
public String name;
}
// used
class Person {
private String name;
public String getName() {
return name;
}
}
在这种情况下 usinggetName()也和局部变量一样快,但它getName()是一种方法,内部可以是任何东西。您可以进行非常复杂的计算(不推荐,但不能禁止)。在这种情况下,局部变量应该更快,因为您只计算一次。
添加回答
举报
0/150
提交
取消