我有一个非常基本的问题。如果以下2在性能方面更好:
if (getSomeValue() != null) {
processSomeValue(getSomeValue());
}
OR
String someValue = getSomeValue();
if (someValue != null) {
processSomeValue(someValue);
}
getSomeValue()是一个普通的getter,它没有做任何事情。
答案 0 :(得分:2)
最佳做法是始终使用第二种方法,即使您已经知道getSomeValue()是一个简单的getter。关键是呼叫可能会在未来保留,并在将来由某人改变。任何开发人员如果更改了getSomeValue()的内部代码,可能都不知道您当前正在使用的调用方法。