ArrayList对象显示一致问题

一笑奈何 提交于 2020-02-19 19:16:10

最近编写一个程序,运到了一个bug。

遍历一个ArrayList数组时,发现里面的对象都是相同的值,可是自己明明存的不是一样的。找了半天错误,后面才想起来,ArrayList里面存的是具体的引用,搞了半天我存的都是同一个对象,解决办法就是每次存入对象进ArrayList时都new一个对象进去:

for (String id : ids) {
            Picture picture = new Picture();
            if ((Integer.parseInt(id) % 2) == 0)
                picture.setPid(Integer.parseInt(id));
            else
                picture.setPid(Integer.parseInt(id));
            System.out.println(Integer.parseInt(id));
            objects.add(picture);
        }

这样就确保每次存入的引用值都不同了

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!