Java 属性拷贝 三种实现方式
第一种
List<OrederPayCustomer> orederPayCustomerList = this.list(queryWrapper); List<CustomerResp>customerRespList=new ArrayList<>();for (OrederPayCustomer orederPayCustomer : orederPayCustomerList) {CustomerResp customerResp = new CustomerResp();customerResp.setId(orederPayCustomer.getId());customerResp.setAppName(orederPayCustomer.getAppName());customerResp.setAppCode(orederPayCustomer.getAppName());customerResp.setStatus(orederPayCustomer.getStatus());customerResp.setCreatedBy(orederPayCustomer.getCreatedBy());customerResp.setCreatedTime(orederPayCustomer.getCreatedTime());customerRespList.add(customerResp);return customerRespList; }
第二种
List<OrederPayCustomer> orederPayCustomerList = this.list(queryWrapper); List<CustomerResp>customerRespList=new ArrayList<>(); customerRespList = orederPayCustomerList.stream().map(orederPayCustomer -> {CustomerResp customerResp = new CustomerResp();customerResp.setId(orederPayCustomer.getId()); customerResp.setAppName(orederPayCustomer.getAppName());customerResp.setAppCode(orederPayCustomer.getAppName());customerResp.setStatus(orederPayCustomer.getStatus());customerResp.setCreatedBy(orederPayCustomer.getCreatedBy());customerResp.setCreatedTime(orederPayCustomer.getCreatedTime());customerRespList.add(customerResp);return customerRespList; }).toList();
第三种 不再使用创建对象的方式来去构建对象
List<OrederPayCustomer> orederPayCustomerList = this.list(queryWrapper); List<CustomerResp>customerRespList=new ArrayList<>(); customerRespList = orederPayCustomerList.stream().map(orederPayCustomer -> {return CustomerResp.builder().id(orederPayCustomer.getId()).appName(orederPayCustomer.getAppName()).appCode(orederPayCustomer.getAppCode()).status(orederPayCustomer.getStatus()).createdBy(orederPayCustomer.getCreatedBy()).createdTime(orederPayCustomer.getCreatedTime()).build(); }).toList(); return customerRespList;
简化版本
List<OrederPayCustomer> orederPayCustomerList = this.list(queryWrapper);return orederPayCustomerList.stream().map(CustomerResp::CustomerBuild).toList();
上面实现的CustomerBuild
数据库对象构建返回结果对象 public static CustomerResp CustomerBuild(OrederPayCustomer orederPayCustomer) {return CustomerResp.builder().id(orederPayCustomer.getId()).appName(orederPayCustomer.getAppName()).appCode(orederPayCustomer.getAppCode()).status(orederPayCustomer.getStatus()).createdBy(orederPayCustomer.getCreatedBy()).createdTime(orederPayCustomer.getCreatedTime()).build(); }