zoukankan      html  css  js  c++  java
  • JAVA的深浅拷备

    package com.jd.ng.shiro.testFactory;

    import java.io.*;

    /**
    * @author wangzhilei
    * @Author: husToy.Wang
    * @Date: 2019/10/30 15:20
    * @Version 1.0
    * @date 2019-10-30 15:21
    */
    public class ProtoType implements Cloneable, Serializable {

    private static final long serialVersionUID = 1L;

    private String string;

    private SerializableObject obj;

    /*浅copy*/
    @Override
    protected Object clone() throws CloneNotSupportedException {
    return (ProtoType) super.clone();
    }

    /* 深复制 */
    public Object deepClone() throws IOException, ClassNotFoundException {

    /* 写入当前对象的二进制流 */
    ByteArrayOutputStream bos = new ByteArrayOutputStream(); // 缓冲区
    ObjectOutputStream oos = new ObjectOutputStream(bos);
    oos.writeObject(this);


    /* 读出二进制流产生的新对象 */
    ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());
    ObjectInputStream ois = new ObjectInputStream(bis);
    return ois.readObject();

    }


    public static long getSerialVersionUID() {
    return serialVersionUID;
    }

    public String getString() {
    return string;
    }

    public SerializableObject getObj() {
    return obj;
    }
    }


    class SerializableObject implements Serializable {
    private static final long serialVersionUID = 1L;
    }
  • 相关阅读:
    前端异常上报
    前端异常解析:Source Map
    前端操作剪切板不完全指北
    多系统之间模块相互引用的引发的深思
    浅谈vue原理(四)
    浅谈vue原理(三)
    浅谈vue原理(二)
    浅谈vue原理(一)
    vue中路由嵌套的作用
    常用的学习网站和小工具
  • 原文地址:https://www.cnblogs.com/leigepython/p/11765888.html
Copyright © 2011-2022 走看看