有一个返回Set<>
的函数我想将该函数应用于另一个集合,在下面创建一个展平的Set<>
是带有地图的代码片段,只更改了变量
repository.findAll().stream().map(
p -> forecastService.forecast(p, timeLineInYear, label)
).collect(Collectors.toSet());
ForecastService
返回Set<Forecast>
,因此上述语句返回Set<Set<Forecast>>
当我尝试使用flatMap
repository.findAll().stream().flatMap(
p -> forecastService.forecast(p, timeLineInYear, label)
).collect(Collectors.toSet());
我收到编译错误
不存在类型变量R的实例,以便
Set<Forecast>
符合Stream<? extends R>
感谢任何帮助。
答案 0 :(得分:0)
你弄错了。 flatMap
方法会转换您的信息流 - &gt;流。如果您想累积Set of Set中的所有元素,请考虑使用stream.reduce()
。