一个List对象转换为另一个List对象

List<ProjectResponse> projectResponseList = morphBriefInfos.stream().map((entity) -> {
    ProjectResponse vo = new ProjectResponse();
    vo.setProjectId(entity.getId());
    vo.setProjectName(entity.getTitle());
    return vo;
}).collect(Collectors.toList());
  • 4
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可以使用Java 8的Stream API来实现这个转换过程。假设我们有两个实体类A和B,它们之间有一些共同的属性,也有一些不同的属性。 1. 首先,我们需要为A和B之间的属性建立一个映射关系,可以使用一个Map对象来存储这个关系。假设A中有属性a1、a2、a3,B中有属性b1、b2、b3,我们可以定义一个Map<String, String>对象来表示它们之间的映射关系: Map<String, String> mapping = new HashMap<>(); mapping.put("a1", "b1"); mapping.put("a2", "b2"); mapping.put("a3", "b3"); 2. 然后,我们需要定义一个转换函数来将A对象转换为B对象。这个函数接受一个A对象和上面定义的映射关系Map作为参数,返回一个B对象。在函数内部,我们可以使用Java 8的Stream API来实现这个转换过程: public B convert(A a, Map<String, String> mapping) { B b = new B(); mapping.forEach((k, v) -> { try { Field fieldA = a.getClass().getDeclaredField(k); Field fieldB = b.getClass().getDeclaredField(v); fieldB.setAccessible(true); fieldB.set(b, fieldA.get(a)); } catch (Exception e) { e.printStackTrace(); } }); return b; } 在这个函数中,我们首先创建一个空的B对象。然后遍历映射关系Map中的键值对,对于每一个键值对,我们获取A对象和B对象中对应的属性,并将A对象的属性值赋给B对象的属性。这里需要注意的是,我们需要使用反射来获取和设置属性值,并且需要将B对象的属性设置为可访问。 3. 最后,我们可以定义一个函数来将一个List<A>对象转换一个List<B>对象。这个函数接受一个List<A>对象和上面定义的映射关系Map作为参数,返回一个List<B>对象。在函数内部,我们可以使用Java 8的Stream API来实现这个转换过程: public List<B> convertList(List<A> list, Map<String, String> mapping) { return list.stream().map(a -> convert(a, mapping)).collect(Collectors.toList()); } 在这个函数中,我们首先将List<A>对象转换一个Stream<A>对象。然后对于每一个A对象,我们调用上面定义的转换函数来将其转换一个B对象。最后,我们使用Collectors.toList()方法将Stream<B>对象转换一个List<B>对象
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值