深拷貝、淺拷貝
- 淺拷貝
對象指針的復(fù)制,最終都是指向同一個(gè)內(nèi)存地址
- 深拷貝
對象自身的拷貝,產(chǎn)生一個(gè)新的內(nèi)存地址,新老對象指向不同的內(nèi)存地址
| 對象 | copy | 結(jié)果 | mutableCopy | 結(jié)果 | 備注 |
|---|---|---|---|---|---|
| 非容器不可變對象 | 淺拷貝 | 不可變對象 | 深拷貝 | 可變對象 | |
| 非容器可變對象 | 深拷貝 | 不可變對象 | 深拷貝 | 可變對象 | |
| 容器不可變對象 | 淺拷貝 | 不可變對象 | 深拷貝 | 可變對象 | 容器中元素的拷貝均為淺拷貝 |
| 容器可變對象 | 深拷貝 | 不可變對象 | 深拷貝 | 可變對象 | 容器中元素的拷貝均為淺拷貝 |
若要實(shí)現(xiàn)容器對象中元素的深拷貝,可以新增方法實(shí)現(xiàn)深拷貝