解决list.add() 方法会覆盖前面的已经添加好的参数

来源:互联网 发布:linux rm -rf 编辑:程序博客网 时间:2024/05/10 15:34
Map<String,Object> map = new HashMap<String, Object>();       //mark1
List<Map<String,Object>> list = new ArrayList<Map<String,Object>>();
for(int i=0;i<" ".length;i++){
// map=new HashMap<String, Object>();     //mark2
map.clear();
map.put("title", i+d);
map.put("content", i+e);
list.add(map);

}

----------------------------

情况:不加mark2会出现list.add方法覆盖list前面的参数,并且重复。

解决:注意上面的mark ,mark1是for循环外层已经创建了,list本身存储的是对象也就是地址,如果不加mark2,list中会重复添加同一个对象,加上mark2后是循环每次创建新的对象,所以不会重复。


2 0