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

https://img4.mukewang.com/5cc176110001a29605840435.jpg

为什么会是这种结果?

红颜莎娜
浏览 612回答 1
1回答

慕斯王

你两次添加到list中的都是同一个temp。&nbsp;也就是说temp中有两个数据, [0:0]和[1:1], 然后你把这个temp对象两次加到list中了。&nbsp;如果你想要有不同的结果,代码应该改成:List<HashMap> list = new ArrayList<HashMap>();HashMap temp = null;for (int i = 0; i < 2; i++) {&nbsp; &nbsp; temp = new HashMap(); // 每次都创建一个新的HashMap对象&nbsp; &nbsp; temp.put(i, i);&nbsp; &nbsp; list.add(temp);}System.out.println(list);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java