我有一个变量(testvariable),根据变量的 isNull 我需要进行如下方法调用
if (testvariable != null)
method(testvariable);
else
method();
简化可选代码的最佳方法是什么
最佳答案
鉴于您的 method
函数返回一个值(不是 void
),您可以使用 map
和 orElseGet
函数,如下所示:
return Optional.ofNullable(testVariable)
.map(tv -> method(tv))
.orElseGet(() -> method());
map
函数会将您的可选项转换为包含method
的返回值,但前提是可选项包含值。如果 testVariable
为 null,则将从传递给 orElseGet
方法的函数中检索结果。
如果方法
返回void
,则不要使用Optional
。 Optional
最适合用于对值的存在或不存在进行建模。
关于java - 在Java中使用Optional和null检查的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57625757/