【发布时间】:2019-09-24 15:37:09
【问题描述】:
我只是在寻找更好的方法来使用 java 8 流来处理这种情况。对象 A 具有对象 b 的列表。我得到的是对象A(列表)的列表。我需要通过对象 A 的列表进行流式传输,并将每个对象 A 中的所有 listB 作为一个单独的列表获取。
class A {
List<B> listB
}
我已经尝试了以下引发编译的方式
List<A> as = someObject.getAs();
List<B> listofBs = as.stream().map(in -> in.getListB()).collect(Collectors.toList());
【问题讨论】:
-
您的示例代码不合法,您似乎尝试的也不合法;为什么需要收集现有的
List? -
你遇到了什么错误?
-
我需要使用 addAll() 收集每个对象 A 列表中 B 的所有列表
-
@PaulLemarchand 这是我得到的错误:不兼容的类型。必需的 List 但“收集”被推断为 R:不存在类型变量的实例,因此 List 符合 B 推断变量 T 具有不兼容的边界:等式约束:Blower 边界:List
标签: java java-8 functional-programming java-stream