代码之家  ›  专栏  ›  技术社区  ›  Benjamin Brownlee

Java优化-局部变量与对象属性[重复]

  •  0
  • Benjamin Brownlee  · 技术社区  · 6 年前

    这可能看起来很乏味,但我知道在JavaScript中,如果对象属性将被多次使用,那么声明一个局部变量是优化的最佳实践。例如:

    var i, length = array.length;
    for(i = 0; i < length; i++) {
      console.log(length);
    }
    

    values.length 两次。

    for(int i = 0; i < values.length && length < values.length + i; i++) {
      vector[i + index] = values[i];
    }
    
    1 回复  |  直到 6 年前
        1
  •  1
  •   rechandler    6 年前

    我想这要看情况而定。 在你的例子中,它不会改变任何东西。创建局部变量和使用一样快 length 但是使用类中的字段并不常见,我们都使用getter来代替它,例如:

    // not used
    class Person {
        public String name;
    }
    
    // used
    class Person {
        private String name;
    
        public String getName() {
            return name;
        }
    }
    

    在这种情况下,使用 getName() 获取名称() 是一种方法,里面可以是任何东西。你可以有非常复杂的内部计算(不推荐,但你不能禁止)。在这种情况下,局部变量应该更快,因为您只计算一次。