java list的深拷貝


一般的寫法:

//不使用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

侵刪


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM