ArrayList对象显示一致问题

最近编写一个程序,运到了一个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);
        }

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

发布了18 篇原创文章 · 获赞 14 · 访问量 3709

猜你喜欢

转载自blog.csdn.net/Jokeronee/article/details/104396262