在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是否存在,如果不存在就返回空值,否則再繼續處理這兩個值并返回它們的和。