为了账号安全,请及时绑定邮箱和手机立即绑定

Java这个地方list添加temp为什么会随着temp的变化而变化?

Java这个地方list添加temp为什么会随着temp的变化而变化?

红颜莎娜 2019-03-14 18:15:26
为什么会是这种结果?
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

你两次添加到list中的都是同一个temp。 

也就是说temp中有两个数据, [0:0]和[1:1], 然后你把这个temp对象两次加到list中了。 

如果你想要有不同的结果,代码应该改成:


List<HashMap> list = new ArrayList<HashMap>();

HashMap temp = null;

for (int i = 0; i < 2; i++) {

    temp = new HashMap(); // 每次都创建一个新的HashMap对象

    temp.put(i, i);

    list.add(temp);

}

System.out.println(list);


查看完整回答
反对 回复 2019-04-25
  • 1 回答
  • 0 关注
  • 611 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信