List<A>其中两个字段和List<B>相同,如何用java8将List<A>转换成List<B>
时间: 2023-06-06 11:05:12 浏览: 128
JAVA8 List<List<Integer>> list中再装一个list转成一个list操作
5星 · 资源好评率100%
可以使用Java8中Stream的map方法和Lambda表达式来实现。
假设List<A>中某两个字段为field1和field2,List<B>中对应的字段为field1和field2。代码示例如下:
List<A> listA = ...; // 初始化List<A>
List<B> listB = listA.stream()
.map(a -> new B(a.getField1(), a.getField2()))
.collect(Collectors.toList());
其中,map方法接受一个Function函数式接口作为参数,该接口定义了一个抽象方法apply(T t),接受一个类型为T的对象,返回一个类型为R的对象。在这里,我们使用Lambda表达式a -> new B(a.getField1(), a.getField2()) 来实现把A对象转换为B对象。
最后使用collect方法可以把Stream转换回List类型。
阅读全文