淺複製與深複製
原來很多人不知道, 自己筆記一個比較好的說明。 一、淺複製 創建一個新的執行個體時,這個 "新的執行個體" 對 "目前執行個體" 中所有成員變數進行複製。 實質型別:建立新的記憶體並複製值給"新的執行個體",當 "新的執行個體" 的欄位狀態改變,不會影響 "目前執行個體" 的狀態 參考型別:建立新的記憶體並參考原有的記憶體位置給"新的執行個體",當 "新的執行個體" 的欄位狀態改變,會影響 "目前執行個體" 的狀態 二、深複製 是創建一個新的執行個體時,這個 "新的執行個體" 對 "目前執行個體" 中所有成員變數(包含參考型別)進行複製,不論甚麼型別當 "新的執行個體" 的欄位狀態改變,不會影響 "目前執行個體" 的狀態 .懶人包 -淺複製/Shallow copy:大多用來參考型別,對克隆體修改會影響原物件 -深複製/Deep copy:用來修改實際參數做執行,對克隆體修改不會影響原物件