對於深轉殖而言,如果類有很多的引用型別域,那麼重寫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 ...