- 测试
| public static void main(String[] args) { |
| |
| List<Student01> dtoList = new ArrayList<>(); |
| List<Student01> pojoList = new ArrayList<>(); |
| Collections.addAll(pojoList, new Student01(1, "靳露"), new Student01(2, "于瑶"), new Student01(4, "王莹")); |
| |
| buildDtoList(pojoList).forEach(args1 -> dtoList.add(args1)); |
| dtoList.forEach(args2 -> System.out.print(JSON.toJSON(args2) + " - ".substring(0,1))); |
| |
| } |
- 方法
| static List<Student01> buildDtoList(List<Student01> stuList) { |
| return stuList.stream().map(aItem -> { |
| Student01 student01 = new Student01(); |
| student01.setId(aItem.getId()); |
| student01.setName(aItem.getName()); |
| return student01; |
| }).collect(Collectors.toList()); |
| } |
- 对象转对象示例
| private RcvSubmitParamBo buildRcvSubmitBoParam(BaseRequest<SubmitRcvParamDto> request) { |
| RcvSubmitParamBo rcvSubmitParamBo = new RcvSubmitParamBo(); |
| rcvSubmitParamBo.setAsnNo(request.getData().getAsnNo()); |
| rcvSubmitParamBo.setWarehouseId(request.getData().getWarehouseId()); |
| rcvSubmitParamBo.setOperator(request.getPin()); |
| rcvSubmitParamBo.setTenantId(request.getTenantId()); |
| rcvSubmitParamBo.setSubmitRcvSkuBos(request.getData().getSubmitRcvSkuDtos().stream().map(aItem -> { |
| SubmitRcvSkuBo submitRcvSkuBo = new SubmitRcvSkuBo(); |
| submitRcvSkuBo.setExpireDate(aItem.getExpireDate()); |
| submitRcvSkuBo.setLocId(aItem.getLocId()); |
| submitRcvSkuBo.setProduceDate(aItem.getProduceDate()); |
| submitRcvSkuBo.setQty(aItem.getQty()); |
| submitRcvSkuBo.setSkuId(aItem.getSkuId()); |
| submitRcvSkuBo.setSkuNature(aItem.getSkuNature()); |
| submitRcvSkuBo.setSkuType(aItem.getSkuType()); |
| return submitRcvSkuBo; |
| }).collect(Collectors.toList())); |
| |
| return rcvSubmitParamBo; |
| } |
- 集合转集合示例
| private List<RcvStockInfoSo> asnDetail2RcvStockSo(List<AsnDetailDTO> asnDetailList) { |
| return asnDetailList.stream().map(aItem -> { |
| RcvStockInfoSo rcvStockInfoSo = new RcvStockInfoSo(); |
| |
| rcvStockInfoSo.setAsnHeaderNo(aItem.getAsnHeaderNo()); |
| rcvStockInfoSo.setAsnRefNo(aItem.getAsnRefNo()); |
| rcvStockInfoSo.setCreateDate(aItem.getCreateDate()); |
| rcvStockInfoSo.setActualQty(aItem.getActualQty()); |
| rcvStockInfoSo.setExpectedQty(aItem.getExpectedQty()); |
| rcvStockInfoSo.setExtSkuId(aItem.getExtSkuId()); |
| rcvStockInfoSo.setLineStatus(aItem.getLineStatus()); |
| rcvStockInfoSo.setPurchasePrice(aItem.getPurchasePrice()); |
| rcvStockInfoSo.setSaleMode(aItem.getSaleMode()); |
| rcvStockInfoSo.setSaleUnit(aItem.getSaleUnit()); |
| rcvStockInfoSo.setShelfLife(aItem.getShelfLife()); |
| rcvStockInfoSo.setSkuId(aItem.getSkuId()); |
| rcvStockInfoSo.setSkuModelNo(aItem.getSkuModelNo()); |
| rcvStockInfoSo.setSkuName(aItem.getSkuName()); |
| rcvStockInfoSo.setSkuOrderNo(aItem.getSkuOrderNo()); |
| rcvStockInfoSo.setSkuType(aItem.getSkuType()); |
| rcvStockInfoSo.setTenantId(aItem.getTenantId()); |
| rcvStockInfoSo.setUom(aItem.getUom()); |
| rcvStockInfoSo.setUpcCodes(aItem.getUpcCodes()); |
| rcvStockInfoSo.setWarehouseId(aItem.getWarehouseId()); |
| |
| return rcvStockInfoSo; |
| }).collect(Collectors.toList()); |
| } |
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~