1. 程式人生 > 實用技巧 >List儲存物件顯示都是最後一次資料

List儲存物件顯示都是最後一次資料

這段時間刷leetcode,在使用BackTrack解決問題的時候偶然發現了一個有意思的現象。
tmp遇到出口,新增到res中,但是結果卻顯示都是空。
在這裡插入圖片描述
在這裡插入圖片描述
為此我做了個小實驗,B是我寫的一個用於測試的匿名內部類,遍歷list理論上應該輸出1,2,但是答案卻是2,2。然後我列印了下地址,可看到list存物件的時候,add並不是新增的物件本身,而是新增的物件地址,所以在第一次新增之後,我對b.id做了修改,自然而言在列印的時候,輸出的也都是2了。解決方法就是每次都new一個物件用於儲存資料。
在這裡插入圖片描述