3 回答

TA貢獻(xiàn)1895條經(jīng)驗 獲得超7個贊
clone()
Cloneable
clone()
public
.
clone()
BeanUtils.cloneBean(original)
創(chuàng)建一個淺克隆,就像由 Object.clone()
..(這堂課是從 公豆 )SerializationUtils.clone(original)
創(chuàng)造了一個深克隆體。(也就是說,整個屬性圖被克隆,而不僅僅是第一級)(從 公朗 ),但是所有類都必須實現(xiàn) Serializable
Java深度克隆庫 提供深度克隆,而不需要實現(xiàn) Serializable

TA貢獻(xiàn)1856條經(jīng)驗 獲得超17個贊
考慮到與cloneable相關(guān)的所有問題,可以肯定地說,其他接口不應(yīng)該擴(kuò)展它,為繼承而設(shè)計的類(項目17)不應(yīng)該實現(xiàn)它。由于它的許多缺點,一些專業(yè)的程序員只是選擇永遠(yuǎn)不覆蓋克隆方法,從來不調(diào)用它,也許,除了復(fù)制數(shù)組。如果為繼承設(shè)計類,請注意,如果選擇不提供行為良好的受保護(hù)的克隆方法,子類不可能實現(xiàn)cloneable。
他們不依賴于一種易受風(fēng)險的語言外對象創(chuàng)建機(jī)制。 它們并不要求對文件很少的公約進(jìn)行強(qiáng)制執(zhí)行。 它們與最終字段的正確使用沒有沖突 它們不會拋出不必要的檢查異常 他們不需要石膏。
List<Double> original = // some listList<Double> copy = new ArrayList<Double>(original);
添加回答
舉報