Java 检查两个变量之一是否为空并返回非空变量

问题描述

如果可能,使用运算符以速记方式编写类似内容的最佳方法是什么?

    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);

我相信不言自明。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...