關於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一個新對象,再加入其中。

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