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

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

}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,027评论 19 139
  • 一、基础知识:1、JVM、JRE和JDK的区别:JVM(Java Virtual Machine):java虚拟机...
    杀小贼阅读 2,426评论 0 4
  • 1. Java基础部分 基础部分的顺序:基本语法,类相关的语法,内部类的语法,继承相关的语法,异常的语法,线程的语...
    子非鱼_t_阅读 31,785评论 18 399
  • 昨天看了一些励志文,也是一些人俗称的“鸡汤文”,里面有个话题印象深刻:一篇文章,有的人看了能有所收获,相应地,也有...
    忆恋江南阅读 392评论 0 0
  • 我要下山抓一姑娘 烧光她的衣裳 像青蛇跳舞像狐狸 我则挖光我的眼睛 权当过瘾沉沦而鼓掌 我要上山做一和尚 烧光我的...
    老王狗阅读 375评论 0 0