我有以下情况..而且我多次遇到类似情况。以下两个选项中哪一个更可取?
选项1:
String result = ( getDetails(...) == null ) ? "" : getDetails(...);
选项2:
String returnValue = getDetails(...);
String result = ( returnValue == null ) ? "" : returnValue;
哪个是更可取的和/或良好的做法。
最佳答案
选项2:更好
选项1:导致额外的方法调用,因此应始终避免使用,否则应避免使用,除非getDetails(...)
是一种 setter/getter 方法(一种返回某些内容的线性方法)
如果您深入研究微优化,通常会导致方法调用
这是许多间接费用中的几个。 As many say,这种性能优化应该留给编译器,并且代码应该被编写为更具可读性。