增强for循环赋值并且向list集合里添加元素,每个元素都一样

2018-04-15  本文已影响0人  lizhichaowan

异常:增强for循环赋值并且向list集合里添加元素,每个元素都和最后赋值的一样

原因:构造器写在了外面,每次add()添加的都是同一个元素,更改器方法改变的也是同一个元素的值,list集合最后每个元素都是最后一次赋值生成的值

OrderItem orderItem = new OrderItem() ;

for (CartItem cartItem : cartItemList) {

orderItem.setOrderItemId(CommonUtils.uuid());

orderItem.setQuantity(cartItem.getQuantity());

orderItem.setSubTotal(cartItem.getSubTotal());

orderItem.setBook(cartItem.getBook());

orderItem.setOrder(order);

orderItemList.add(orderItem) ;

}

解决方案:把构造器写在增强for循环里面

for (CartItem cartItem : cartItemList) {

OrderItem orderItem = new OrderItem() ;

orderItem.setOrderItemId(CommonUtils.uuid());

orderItem.setQuantity(cartItem.getQuantity());

orderItem.setSubTotal(cartItem.getSubTotal());

orderItem.setBook(cartItem.getBook());

orderItem.setOrder(order);

orderItemList.add(orderItem) ;

}

上一篇下一篇

猜你喜欢

热点阅读