List重复添加同一对象

代码

        User user=new User();
        List<User> list = new ArrayList<>();
        for(int i = 0; i < 3; i++){
           user.setNameCode("nameCode:"+String.valueOf(i));
           list.add(user);
        }

结果

[{"nameCode":"nameCode:2"},
{"nameCode":"nameCode:2"},
{"nameCode":"nameCode:2"}]

结论

list经历了三次循环,其实是对一个对象重复添加了三次;
每次修改,都会影响list里面的其余的对象;
因为他们其实都是一个对象

版权声明:本文为Lazy_Code原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。