我有一个lambda表达式,我想在其中创建对象列表,但出现错误
List<ClassObject> classObject = obj1.getFileId().stream()
.map(x -> obj1.getCustomObj().stream()
.map(y -> obj1.builder().Id(x).name(y.getName()).value(y.getValue())
.details(obj1.getDetails()).build()))
.collect(Collectors.toList());
错误
Type mismatch: cannot convert from List<Stream<ClassObject>> to List<ClassObject>
我想要List<ClassObject>
作为lambda表达式的返回类型。我该如何实现?
答案 0 :(得分:4)
使用flatMap:
List<ClassObject> classObject = obj1.getFileId().stream()
.flatMap(x -> obj1.getCustomObj().stream()
.map(y -> obj1.builder().Id(x).name(y.getName()).value(y.getValue())
.details(obj1.getDetails()).build()))
.collect(Collectors.toList());