ArrayList 的add方法,添加的数据是一个实体对象,那么 他是指向这个对象的内存地址,并不是开辟新空间来保存.
Entity entity = new Entity();
List<Entity> entityList = new ArrayList<Entity>();
entity.setUserName("xi");
entity.setSex(1);
entityList.add(entity);
entity.setUserName("ao");
entity.setSex(2);
entityList.add(entity);
向上面这种情况,第一次add到entityList里的对象值会被覆盖掉.只会保存第二次add的对象.
解决方法:
Entity entity = new Entity();
List<Entity> entityList = new ArrayList<Entity>();
entity.setUserName("xi");
entity.setSex(1);
entityList.add(entity);
Entity entity1 = new Entity()
entity1.setUserName("ao");
entity1.setSex(2);
entityList.add(entity1);
这样在添加的时候add方法指向的是对象的内存地址,所以第一段代码的方式,entity对象就修改自己的内存,但是add恰好是指向他的内存,所以修改就会出现问题.