【发布时间】:2021-04-28 14:39:16
【问题描述】:
我必须确保两个值是否为非空值。当第一个和第二个具有非空值时,将第一个作为参数传递给第二个。如果其中之一为空值,则返回 false。 这可以在以下代码中完成:
String value1 = function_to_get_value1()
if (value1 == null) return false;
String value2 = function_to_get_value2(value1)
if (value2 == null) return false;
return true;
也可以简写:
try {
return function_to_get_value2(function_to_get_value1()) != null;
} catch (NullPointerException e) {
return false;
}
我想知道如何使用 Optional 以流利的形式做到这一点。
【问题讨论】:
-
注意:
function_to_get_value2(function_to_get_value1())不匹配“当第一个和第二个具有非空值时,将第一个作为参数传递给第二个。” - 你总是在传递 value1。您也没有检查 value2 是否为空,即您需要改为return function_to_get_value2(function_to_get_value1()) != null。