У меня есть лямбда-выражение, в котором я хочу создать список объектов, но получаю сообщение об ошибке
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> в качестве возвращаемого типа из лямбда-выражения. Как я могу этого добиться?
Нет, это плохой дубликат. Ответ - плоская карта(), а не карта.




Используйте плоскую карту:
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());
Возможный дубликат stackoverflow.com/questions/14830313/… ?