我正在寻找的是一种使用 streams 和 map 将一种类型的集合转换为另一种类型的集合的方法,而无需预定义函数/功能将对象 A 转换为对象 B 的接口(interface)。Java 6 示例:
for (ObjectA objA : collectionA) {
ObjectB objB = new ObjectB();
objB.setId(objA.getId());
collectionB.add(objB);
}
我正在寻找以下内容:
List<ObjectB> collectionB = collectionA.stream().map(objA -> {
ObjectB objB = new ObjectB();
objB.setId(objA.getId());
return objB;
});
这当然行不通,但您明白了我正在尝试做的事情的要点。
最佳答案
完成映射后,您必须收集映射的对象:
List<ObjectB> collectionB = collectionA.stream().map(objA -> {
ObjectB objB = new ObjectB();
objB.setId(objA.getId());
return objB;
}).collect(Collectors.toList());
关于java - 在 Java 8 中不使用预定义方法将集合转换为另一种集合类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31560824/