在List集合中存储对象,List中的值都一样

在写一个项目时,需要用到ECharts图表,需要从后台传一个List集合给前端,List集合存储的是一个对象类型,在前端接受到数据,发现List集合里面的数据都是一样,后面排查发现是new对象放在了循环外面,把new放在,循环里面就行了

下面是一段错误代码:

List结果:

[ShopPieChert(name=白菜, value=8.0, count=null, goodsId=2), ShopPieChert(name=白菜, value=8.0, count=null, goodsId=2), ShopPieChert(name=白菜, value=8.0, count=null, goodsId=2)]

改正:

List结果:

[ShopPieChert(name=苹果, value=18.0, count=null, goodsId=1), ShopPieChert(name=梨子, value=12.0, count=null, goodsId=3), ShopPieChert(name=白菜, value=8.0, count=null, goodsId=2)]

原因:我们只需要把new对象的时候放入循环里面,因为List里面存储对象时,只是存储了其地址,开始把new放在外面,我们List里存的都是一个对象的引用地址,所以List里面的值一样,

现在把new对象放在循环里面,List里面就是存储的不同的对象的引用地址了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值