循环中对象为其他对象赋值

举例:

List cartDTOList = new ArrayList<>();
for (OrderDetail orderDetail: orderDTO.getOrderDetailList()) {
CartDTO cartDTO = new CartDTO(orderDetail.getProductId(), orderDetail.getProductQuantity());
cartDTOList.add(cartDTO);
}

可用 Steam().map()来代替。作用把OrderDetail类的相关属性复制到cartDTOList列表里。

 List cartDTOList = orderDTO.getOrderDetailList().stream().map(e->
                new CartDTO(e.getProductId(),e.getProductQuantity()))
                .collect(Collectors.toList());

注意:

由于相同的属性名会被复制,所以为null的属性也会被复制

你可能感兴趣的:(小优化)