利用序列化實現物件的拷貝

2021-09-12 10:31:15 字數 756 閱讀 7345

如何利用序列化來完成物件的拷貝呢?在記憶體中通過位元組流的拷貝是比較容易實現物件拷貝的。把母物件寫入到乙個位元組流中,再從位元組流中將其讀出來這樣就可以建立乙個新的物件了,並且該新物件與母物件之間並不存在引用共享的問題,真正實現物件的深拷貝

public class cloneutils  catch (exception e) 

return cloneobj;

}}

使用該工具類的物件必須要實現serializable介面,否則是沒有辦法實現轉殖的。

public class person implements serializable

public class email implements serializable

所以使用該工具類的物件只要實現serializable介面就可實現物件的轉殖,無須繼承cloneable介面實現clone()方法。

public class client 

}-------------------

output:

張三的郵件內容是:請與今天12:00到二會議室參加會議...

李四的郵件內容是:請與今天12:30到二會議室參加會議...

王五的郵件內容是:請與今天12:30到二會議室參加會議...

物件的深拷貝 序列化拷貝

簡介 system.object 幾乎是所有的類 結構 委託型別的基類。system.object有乙個memberwiseclone 的方法來幫助我們建立乙個當前物件的例項。存在的問題 system.object 提供的memberwiseclone 方法只是物件的淺拷貝,只能把當前物件的非靜態字...

物件序列化 反序列化

必須新增引用 using system.io using system.runtime.serialization using system.runtime.serialization.formatters.binary 方法 region 物件序列化 物件序列化 任意物件 字串 public st...

物件 序列化 反序列化

public class eventmessage 資訊提示類 型別1 操作日誌2 安全日誌 標題 內容 icon型別 url 執行script指令碼字串 需加 public static void messagebox int m type,string m title,string m body...