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

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

作者: lizhichaowan | 来源:发表于2018-04-15 16:22 被阅读0次

    异常:增强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) ;

    }

    相关文章

      网友评论

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

          本文链接:https://www.haomeiwen.com/subject/spcmhftx.html