问题描述
如果可能,使用运算符以速记方式编写类似内容的最佳方法是什么?
if (l1 == null && l2 == null){
return null;
}
else if (l1 == null){
return l2;
}
else if (l2 == null){
return l1;
}
解决方法
对我来说,是这样的:
return l1 == null ? l2 : l1;
如果 l1 和 l2 为 null,则返回 null。否则,如果其中至少一个不为空,则返回定义的那个。
,对于两个变量来说,这可能有点矫枉过正,但一种功能性的方法可以是:
return Optional(l1)
.orElse(l2)
.getOrElse(null);
我相信不言自明。