var s= productionPlanDto.getDetails().stream().map(i -> { ProductionPlanDetail productionPlanDetail= new ProductionPlanDetail(); productionPlanDetail.setId(i.getId()); productionPlanDetail.setCode(i.getCode()); productionPlanDetail.setName(i.getName()); productionPlanDetail.setSpec(i.getSpec()); productionPlanDetail.setYfQty(i.getYfQty()); productionPlanDetail.setSfQty(i.getSfQty()); productionPlanDetail.setQlQty(i.getQlQty()); productionPlanDetail.setRemark(i.getRemark()); productionPlanDetail.setVersions(i.getVersions()); productionPlanDetail.setPId(i.getPId()); return productionPlanDetail; }).toList(); 优化这段代码
时间: 2024-02-06 09:04:23 浏览: 43
可以将 `toList()` 替换为 `collect(Collectors.toList())`,并使用方法引用来优化赋值操作,具体代码如下:
```
List<ProductionPlanDetail> s = productionPlanDto.getDetails().stream()
.map(ProductionPlanDetail::new)
.collect(Collectors.toList());
```
其中,`ProductionPlanDetail::new` 表示使用 `ProductionPlanDetail` 的构造函数来创建一个新的对象,并将当前元素作为参数传入。这样就可以避免手动对每个属性进行赋值操作,代码更加简洁和清晰。同时,使用 `collect(Collectors.toList())` 可以将 Stream 转换成 List。
阅读全文