如何使用Java Streams获取对象的List of List
如何使用Java Streams获取对象的List of List
我无法理解这个问题。
问题:
我想使用Java流来编写这段代码:
Listmanufacturers = ... // 制造商对象列表 List > cars = new ArrayList<>(); for (Manufacturer man : manufacturers) { cars.add(man.getCars()); // 假设getCars()返回一个车辆列表。 }
我认为使用Java流应该像下面这样:
List> cars = manufacturers.stream() .flatMap(man -> man.getCars().stream()) .collect(Collectors.toList());
错误:
但是我的IDE显示如下错误:no instance(s) of type variable(s) R exist so that List
以及Java编译器显示如下错误:
java: incompatible types: cannot infer type-variable(s) R (argument mismatch; bad return type in lambda expression java.util.Listcannot be converted to java.util.stream.Stream extends R>)
有解决方案吗?
谢谢!