如何将Optional <list <a >>转换为Optional <list <b >>

时间:2018-06-25 19:49:26

标签: java lambda java-8 optional

假设我有一个方法:

B someMethod(A) {
    // ...
}

我有一个Optional<List<A>>,如何将其转换为Optional<List<B>>

1 个答案:

答案 0 :(得分:1)

使用Optional.map将一件事的Optional更改为另一件事的Optional

import static java.util.stream.Collectors.toList;

Optional<List<B>> optListB = optListA.map(
        listOfA -> listOfA.stream()
                .map(SomeClass::someMethod)
                .collect(toList())
);

(假设someMethodSomeClass的静态方法)