Java 优化 - 局部变量与对象属性

这可能看起来很乏味,但我知道在 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];

}


冉冉说
浏览 165回答 1
1回答

茅侃侃

我会说这取决于。在您的示例中,它不会改变任何内容。创建局部变量和使用length属性一样快。但是使用类中的字段并不常见,我们都使用 getter 代替这个,例如:// not usedclass Person {&nbsp; &nbsp; public String name;}// usedclass Person {&nbsp; &nbsp; private String name;&nbsp; &nbsp; public String getName() {&nbsp; &nbsp; &nbsp; &nbsp; return name;&nbsp; &nbsp; }}在这种情况下 usinggetName()也和局部变量一样快,但它getName()是一种方法,内部可以是任何东西。您可以进行非常复杂的计算(不推荐,但不能禁止)。在这种情况下,局部变量应该更快,因为您只计算一次。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java