关于java集合list的一点小坑笔记

菜鸡削笔机:集合list里存放的是一个个对象,当你往集合中要添加一个和已有元素值 相同的元素时,记得要new一个新对象!

		list.add(new StringBuilder("a"));
		StringBuilder sb=list.get(0);
		list.add(sb);
		System.out.println(list.toString());
		list.get(0).append("b");
		System.out.println(list.toString());

这段代码输出结果是

[a, a]
[ab, ab]

  当你往list中添加sb时,其实sb这个对象和已有的a对象是同一个对象,它们都指向同一个地址,所以改变其中一个对象的值时,另一个也会跟着变化,所以当你要添加一个和list中已有的对象值相同的元素时,记得要new一个新对象,再加入其中。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章