java - 如何将可选<List<A>>转换为可选<List<B>>

标签 java lambda java-8 option-type

假设我有一个方法:

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

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

最佳答案

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

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

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

(假设someMethodSomeClass的静态方法)

关于java - 如何将可选<List<A>>转换为可选<List<B>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51030910/

相关文章:

c# - 使用 lambda 的任务会出现编译时错误

datetime - Java 8 - ChronoUnit.MONTHS.between(fromDate,toDate) 未按预期工作

java - 我如何使用 lambda 更好地做到这一点?

Java Streams - 更改元素的字段

java - Spring Controller 请求资源中点的映射问题

arrays - 如何使 FLATTEN 对非连续范围起作用?

Java 运行时相当于使用 javax Processor/google @AutoService 进行注释处理

Java 8 Lambda Map<Integer,List<Object> 为每个创建一个新对象并将此新对象添加到列表中

java - 使用 criteria.list() 来确定返回的行数是否有效?

JavaFX 8 : Stage insets (window decoration thickness)?