菜雞削筆機:集合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一個新對象,再加入其中。