ArrayList add()方法覆盖数据解决办法
来源:互联网 发布:石狮淘宝培训中心 编辑:程序博客网 时间:2024/05/21 17:25
在循环中使用list.add(vo)可能最后只有一个vo,之前的都被覆盖了,原因是vo的对象创建了在循环外面,只有一个对象,所以每次都会被覆盖
List<Retdata> li = new ArrayList<Retdata>(); Retdata data=new Retdata(); for (int i = 0; i < retList.size(); i++) { data.setMobile((String) jo11.get("mobile")); data.setSendcontent((String) jo11.get("sendcontent")); data.setSendDate((String) jo11.get("SendDate")); li.add(data); }
0
{SendDate=2017/6/7, sendcontent=111, mobile=123456789}
1
{SendDate=2017/6/8, sendcontent=22, mobile=22222222}
2
{SendDate=2017/6/7, sendcontent=33, mobile=3333333333}
0
com.format.Retdata@26807f
1
com.format.Retdata@26807f
2
com.format.Retdata@26807f
可以看到上面list中的对象都是同一个内存地址。
解决方法:将对象在循环中创建
List<Retdata> li = new ArrayList<Retdata>(); for (int i = 0; i < retList.size(); i++) { Retdata data=new Retdata(); data.setMobile((String) jo11.get("mobile")); data.setSendcontent((String) jo11.get("sendcontent")); data.setSendDate((String) jo11.get("SendDate")); li.add(data); }
阅读全文
0 0
- ArrayList add()方法覆盖数据解决办法
- ArrayList add方法会导致数据覆盖。
- 使用ArrayList.add()时 后面的数据完全覆盖前面的数据
- ArrayList add()方法
- ArrayList add方法
- List add方法覆盖
- 20161109 ArrayList set add方法 替换对应位置数据
- java ArrayList add()方法数据被覆盖问题
- List使用add方法添加数据时的覆盖问题
- List使用add方法添加数据时的覆盖问题
- ArrayList的add()方法使用
- list.add数据覆盖的问题
- list.add时的数据覆盖问题
- 关于ArrayList.add方法的问题
- ArrayList的add和remove方法
- JSONObject的put方法覆盖已经添加过的数据,造成数据污染解决办法
- C# List<T> Add方法循环添加时只保存了最后一次的数据(覆盖问题)
- ArrayList.add后,前面数据被覆盖的问题
- 最长回文子串
- android ethernet
- 抽象类
- java进程cpu过高原因整理
- 算法设计与应用基础-第十三周&十四周
- ArrayList add()方法覆盖数据解决办法
- 四元素姿态解算 ---地磁计融合解读
- 进程保活之oom_adj级别查询
- poj3669-Meteor Shower
- TF/02_TensorFlow_Way/07 Combining_Everything_Together
- windows配置Redis环境【Redis · 1】
- GCD-两个网络请求同步问题_转载自马在路上大神
- 怎么样才能进入BAT公司的研发部门
- txt文件导入Mysql提示导入成功但是只有一条ID为0的无效数据