目錄
淺複制
深複制
深拷貝工具類SerializationUtils.clone
淺層複制: 被複制的對象的所有成員屬性都有與原來的對象相同的值,而所有的對其他對象的引用仍然指向原來的對象。
換言之,淺層複制僅僅複制所考慮的對象(對象屬性、資料),而不複制它所引用的對象(對象位址)。
深層複制:被複制對象的所有變量都含有與原來的對象相同的值,除去那些引用其他對象的變量。那些引用其他對象的變量将指向被複制過的新對象,而不是原有的那些被引用的對象。
換言之,深層複制要複制的對象引用的對象(對象屬性、資料)都複制一遍。
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsISPrdEZwZ1Rh5WNXp1bwNjW1ZUba9VZwlHdsATOfd3bkFGazxCMx8VesATMfhHLlN3XnxCMwEzX0xiRGZkRGZ0Xy9GbvNGLpZTY1EmMZVDUSFTU4VFRR9Fd4VGdsYTMfVmepNHLrJXYtJXZ0F2dvwVZnFWbp1zczV2YvJHctM3cv1Ce-cmbw5iMwYTZ5cTO3ETZwMWZkdTN5ITNwQTZjZjMjZGZlFDN38CXwEzLclDMxIDMy8CXn9Gbi9CXzV2Zh1WavwVbvNmLvR3YxUjL4M3Lc9CX6MHc0RHaiojIsJye.png)
深拷貝實作起來也比較簡單,隻需要對對象中的對象再次進行clone操作:
commons-lang-2.6.jar 例如:Object obj = SerializationUtils.clone( objectFrom )