list重复添加同一对象解决

ist  list = new ArrayList();
        User user = new User();
        for(int i=0;i<10;i++ ){
            user.setUsername("test"+i);
            user.setPassword("password"+i);
            
            list.add(user);
        }
        以上得到的list集合每个元素都是最后一次循环的对象,重复,每次set改变的是同一地址对象的值
   
        解决办法:将new对象拿到循环体内,能够得到预期的结果,每次创建一个新地址存放新对象
        List  list = new ArrayList();
        for(int i=0;i<10;i++ ){
            User user = new User();
            user.setUsername("test"+i);
            user.setPassword("password"+i);
            
            list.add(user);
        }

转载于:https://my.oschina.net/u/3422045/blog/1118169

你可能感兴趣的:(list重复添加同一对象解决)