阅读量:0
在Java中,Optional类通常用于处理可能为null的值,并且通常用于返回值或参数。如果要处理多个可能为null的值,可以使用Optional的map和flatMap方法来处理。
例如,如果有两个可能为null的值a和b,可以使用map方法来处理它们:
Optional<Integer> a = Optional.ofNullable(getValueA()); Optional<Integer> b = Optional.ofNullable(getValueB()); Optional<Integer> result = a.flatMap(valueA -> b.map(valueB -> valueA + valueB));
在上面的示例中,我们先将两个可能为null的值a和b转换为Optional对象,然后使用flatMap方法来处理这两个值,并返回它们的和。如果其中有任何一个值为null,则结果也将为null。
另外,如果要处理多个可能为null的值,并且有其中一个值为null时就返回空值,可以使用Optional的filter方法:
Optional<Integer> a = Optional.ofNullable(getValueA()); Optional<Integer> b = Optional.ofNullable(getValueB()); Optional<Integer> result = a.filter(valueA -> b.isPresent()) .flatMap(valueA -> b.map(valueB -> valueA + valueB));
在上面的示例中,我们使用filter方法来检查b是否存在,如果不存在就返回空值,否则再继续处理这两个值并返回它们的和。