首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

利用Java序列化机制进展克隆深拷贝

2012-10-18 
利用Java序列化机制进行克隆深拷贝利用序列化机制进行深拷贝:A.将对象序列化到输出流再读回即可,且中间过

利用Java序列化机制进行克隆深拷贝
  利用序列化机制进行深拷贝:
A.将对象序列化到输出流再读回即可,且中间过程无需写入文件,只需使用ByteArrayOutputStream将数据存为字节数组.
  *需要注意的是,这种克隆方法比显式地在clone方法中创建一个新的对象或克隆数据域要慢一些.
   import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;


/**
* @version 把要通过序列化进行克隆的类继承该SerialCloneable
* @author yping061
*
*/

public class SerialCloneable implements Cloneable,Serializable{public Object clone(){try{ //save the object to a byte array ByteArrayOutputStream bout=new ByteArrayOutputStream(); ObjectOutputStream out=new ObjectOutputStream(bout); out.writeObject(this); out.close();  //read a clone of the object from the byte array ByteArrayInputStream bin=new ByteArrayInputStream(bout.toByteArray()); ObjectInputStream in=new ObjectInputStream(bin); Object result=in.readObject(); in.close();  return result;}catch(Exception e){  return null;}}}   

热点排行