java - 在Java中使用Optional和null检查的最佳方法是什么?

标签 java java-8

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

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

简化可选代码的最佳方法是什么

最佳答案

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

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

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

如果方法返回void,则不要使用OptionalOptional 最适合用于对值的存在或不存在进行建模

关于java - 在Java中使用Optional和null检查的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57625757/

相关文章:

java-8 - 使用最新 Websphere Liberty 版本的异常

java - OSGi + Weld : FrameworkUtil getBundleContext() returns null

java - MatteBorder 不适用于从右到左的组件方向

java - 重做 foreach 到 .stream().map

java - 从主类中的接口(interface)调用默认方法

java - java中的流到底是什么?它们与 Lambda 表达式有何关系?

java - 将谓词应用于 Java 中的 getter 列表

java - 如何在此作业中将字符串拆分为列表? java

java - 使用 ArrayList<ArrayList<String>>() 时 java 中出现意外输出

java - 我的 SQL 使用 java 程序插入值