当前位置 : 主页 > 编程语言 > c++ >

一个精妙的对象集合深拷贝(内容对象需要实现序列化接口)

来源:互联网 收集:自由互联 发布时间:2021-07-03
众所周知,java里要做到对可变对象的深拷贝是麻烦的,因为你总是引用的地址,下面这一段是一个利用序列化流实现的对象集合的深拷贝 public static List deepCopy(List src) throws IOException, ClassN
众所周知,java里要做到对可变对象的深拷贝是麻烦的,因为你总是引用的地址,下面这一段是一个利用序列化流实现的对象集合的深拷贝
public static 
 
   List
  
    deepCopy(List
   
     src) throws IOException, ClassNotFoundException { ByteArrayOutputStream byteOut = new ByteArrayOutputStream(); ObjectOutputStream out = new ObjectOutputStream(byteOut); out.writeObject(src); ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray()); ObjectInputStream in = new ObjectInputStream(byteIn); @SuppressWarnings("unchecked") List
    
      dest = (List
     
      ) in.readObject(); return dest; }
     
    
   
  
 
网友评论