一般的寫法:
//不使用stream拷貝list List<WarehouseStockItemBean> dtoList = new ArrayList<>(); for (WarehouseStockItemBean warehouseStockItem : warehouseStockItemBeanList) { WarehouseStockItemBean d = new WarehouseStockItemBean(); BeanUtils.copyProperties(warehouseStockItem, d); dtoList.add(d); }
使用java8的stream流寫法:
warehouseStockItemBeanLists = warehouseStockItemBeanList.stream() .map(e -> { WarehouseStockItemBean d = new WarehouseStockItemBean(); BeanUtils.copyProperties(e, d); return d; }) .collect(Collectors.toList());
兩者在實現User對象拷貝到UserDTO對象時都是用了spring中內置的BeanUtils(這類工具類很多。我這里用的是spring自帶的)
實現原理都是遍歷集合拷貝對象然后添加到新集合
轉自:http://www.3kkg.com/1095
侵刪
