Closed. This question is opinion-based。它当前不接受答案。
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
4年前关闭。
Improve this question
似乎是一个愚蠢的问题。我只是想知道哪种更好的编码方式。
选项1:
选项2:
变量a是一个静态变量,用于缓存getA()并避免多次调用它。
编辑:我假设
想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
4年前关闭。
Improve this question
似乎是一个愚蠢的问题。我只是想知道哪种更好的编码方式。
选项1:
if(a==null) {
a=getA();
return a;
} else {
return a;
}
选项2:
if(a==null) {
a=getA();
}
return a;
变量a是一个静态变量,用于缓存getA()并避免多次调用它。
最佳答案
还有一个第三种选择,它甚至更短-使用三元条件运算符:
return a != null ? a : getA();
编辑:我假设
a
是局部变量,因此如果它是null
则不必分配。另一方面,如果它是用作高速缓存的实例变量(以避免多次调用getA()
),则需要将getA()
的结果分配给a
,在这种情况下,我将使用第二个另一种选择,因为它更短,因此更清晰(您仍可以将三元条件运算符与赋值-return a != null ? a : (a = getA());
-一起使用,但我发现不太清楚)。10-08 13:41