再次调用函数比将其赋值给变量更好

时间:2014-08-21 18:27:11

标签: java performance memory

在类中调用getter函数是否比为新变量赋值更好?

示例:

Class Test{
        private AnotherClass a;
        public AnotherClass getA(){
            return a;
        }
}

继续在同一个函数中调用getA()或者更好的是另一个类是另一个函数。另一个类是var1 = getA(); 然后继续在该函数中使用var1。

我想了解记忆与性能的关系我们怎样才能平衡它。

编辑:     用法示例:     考虑另一个类列表

    AnotherClass var1 = test.getA();
    if(var1!=null){
    for(List var : var1){
// do something
}

or 

if(test.getA()!=null){
for(List var : test.getA())
// do something
}

请注意,这种行为可以在多个地方多次完成。

1 个答案:

答案 0 :(得分:2)

请参阅此问题:Java Method invocation vs using a variable

通常,您应该编写可读性而非性能的代码。编译器可以很好地优化您的get()次呼叫。如果没有,并且这结果是一个问题,您可以在完成后始终对代码进行概要分析以识别和消除瓶颈。不过,首先要确保可读性。