局部变量还是反复调用?

时间:2016-06-16 08:25:49

标签: java performance

我有一个非常基本的问题。如果以下2在性能方面更好:

if (getSomeValue() != null) {
    processSomeValue(getSomeValue());
}

OR

String someValue = getSomeValue();
if (someValue != null) {
    processSomeValue(someValue);
}

getSomeValue()是一个普通的getter,它没有做任何事情。

1 个答案:

答案 0 :(得分:2)

最佳做法是始终使用第二种方法,即使您已经知道getSomeValue()是一个简单的getter。关键是呼叫可能会在未来保留,并在将来由某人改变。任何开发人员如果更改了getSomeValue()的内部代码,可能都不知道您当前正在使用的调用方法。