java 的深度clone,对于对象里面还包含其它对象可使用流克隆法

来源:互联网 发布:索尼淘宝官方旗舰店 编辑:程序博客网 时间:2024/06/08 19:38

一般使用的clone()方法虽然可以实现深度克隆,但是需要的克隆对象里有其他引用对象,这个引用对象还有引用对象那么你重写clone()方法就非常的繁琐了所以建议使用输入输出流进行克隆/*     * 复制对象obj,类似于值传递,非引用     */    public static Object cloneObject(Object obj) throws Exception{           ByteArrayOutputStream  byteOut = new ByteArrayOutputStream();             ObjectOutputStream out = new ObjectOutputStream(byteOut);             out.writeObject(obj);                    ByteArrayInputStream byteIn = new ByteArrayInputStream(byteOut.toByteArray());             ObjectInputStream in =new ObjectInputStream(byteIn);                   return in.readObject();    }
0 0