在Java中将Optional与null检查结合使用的最佳方法是什么?

时间:2019-08-23 11:48:16

标签: java java-8

我根据变量的isNull拥有一个变量(testvariable),我需要按以下方法进行调用

if (testvariable != null) 
    method(testvariable);
 else 
    method();

在Optional中简化代码的最佳方法是什么

1 个答案:

答案 0 :(得分:4)

鉴于您的method函数返回一个值(不是void),则可以使用maporElseGet函数,如下所示:

return Optional.ofNullable(testVariable)
    .map(tv -> method(tv))
    .orElseGet(() -> method());

map函数将您的可选变量转换为包含返回值method,但前提是可选变量包含一个值。如果testVariable为null,则将从传递给orElseGet方法的函数中检索结果。

如果method返回void,则不要使用OptionalOptional最适合用来模拟的存在与否。