序列化與物件轉殖

2021-06-21 11:35:53 字數 843 閱讀 6064

對於深轉殖而言,如果類有很多的引用型別域,那麼重寫clone()方法依次複製各個域是很麻煩。如果引用型別的域也是油引用型別組成的,則應該考慮使用序列化的方式實現深轉殖,下面給出乙個例子:

1、編寫乙個address類,該類定義了3個域,國家,省份和城市。

public class address implements serializable 

/*省略get() set()方法*/

@override

public string tostring()

}

public class employee implements cloneable, serializable 

/*省略set()和get()方法*/

@override

public string tostring()

@override

public employee clone() catch (ioexception e)

bytearrayinputstream bais = new bytearrayinputstream(baos.tobytearray());

try catch (ioexception e) catch (classnotfoundexception e)

return employee;

}}

3、接著編寫測試類,在此省略``````

物件序列化與反序列化

using system using system.text using system.collections.generic using system.io using system.runtime.serialization.formatters.binary class serializabl...

物件序列化與反序列化

我們常常需要將一些程式當前資訊儲存在檔案中,如果明文儲存,那麼資訊不安全,使用物件序列化和反序列化可解決此問題 1 將需要儲存的資訊封裝成類,用serializable標記 serializable 次標記必須,以宣告此student類可執行序列化操作 class student public st...

物件序列化 與反序列化

1.序列化為二進位製流 view code?usingsystem usingsystem.collections.generic usingsystem.text usingsystem.runtime.serialization.formatters.binary usingsystem.io ...