使用流将列表收集到联合列表

Ask*_*mov 2 java java-stream

我正在尝试编写一个表达式,从缓存中获取数据(它们返回一个List)并将所有内容收集在一起.

我提出了:

List<myDto> myJointSnapshot = cachesMap.values().stream()
  .flatMap(c->c.getSnapshot()).collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

其中getSnapshot还返回List <myDto>.

这给了我一个错误:没有类型变量R的实例存在,所以List <myDto>符合Stream <?扩展R>

我怎样才能将表达式更正为有效?

Eug*_*ene 5

flatMap(c->c.getSnapshot().stream())...
Run Code Online (Sandbox Code Playgroud)

flatMap期待Stream结果,在你的情况下它是一个List.