yls 2019年11月07日

  1. 拷贝分为引用拷贝和对象拷贝
  2. 深拷贝和浅拷贝都属于对象拷贝

浅拷贝:通过Object默认的clone方法实现

  1. 实现Cloneable接口

    public class Sheep implements Cloneable
  2. 重写clone方法

        //默认浅拷贝
    @Override
    protected Object clone() throws CloneNotSupportedException {
    return super.clone();
    }

深拷贝

方式一

  1. 实现Cloneable接口

    public class Sheep implements Cloneable
  2. 重写并修改clone方法

        //深拷贝,方法一
    //使用clone方式,要实现Cloneable接口
    public Object deepClone() throws CloneNotSupportedException{
    Sheep sheep=(Sheep) super.clone();
    sheep.setFather((Father) sheep.getFather().clone());
    return sheep;
    }

方式二:通过序列化的方式

  1. 实现Serializable接口

    //深拷贝,方法二
    //通过序列化的方式,要实现Serializable接口
    public Object deepClone2() throws Exception {
    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream();
    ObjectOutputStream oos = new ObjectOutputStream(byteArrayOutputStream); oos.writeObject(this);
    ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(byteArrayOutputStream.toByteArray()));
    return ois.readObject();
    }

最新文章

  1. uboot(二): Uboot-arm-start.s分析
  2. 在阿里云ECS上搭建LEMP环境
  3. angularjs中ng-change使用方法
  4. Windows2008 VPN登录
  5. 关于MVC EntityType has no key defined的问题
  6. Angular2快速起步——构建一个简单的应用
  7. TinyXML2的使用
  8. 浏览器兼容性--IE11以及Edge等下载文件的中文名出现乱码,前后端解决方案
  9. BZOJ 2463: [中山市选2009]谁能赢呢?(新生必做的水题)
  10. POJ-2485 Highways---最小生成树中最大边
  11. netty源码分析之揭开reactor线程的面纱(二)
  12. linux-Navicat 连接数据库 报错10060 & Navicat连接报错1146
  13. 【转】LVDS基础、原理、图文讲解
  14. 为什么阿里巴巴禁止开发人员使用isSuccess作为变量名
  15. 关于Android开发中使用的XML
  16. iota 币产生私钥的方法
  17. firedac引擎DATASNAP多表查询和多表提交
  18. 496. Next Greater Element I + 503. Next Greater Element II + 556. Next Greater Element III
  19. Transferring Data Between ASP.NET Web Pages
  20. php中的引用

热门文章

  1. 像艺术家一样思考 Think Like an Artist
  2. window 后台运行的应用程序点击没反应
  3. C# 委托 (一)—— 委托、 泛型委托与Lambda表达式
  4. {每日一题}:tcp协议实现简单的文件下载器(单任务版)
  5. 3M隔音耳罩拆分、清洗教程
  6. 05 python学习笔记-常用内置函数(五)
  7. JVM学习记录3--垃圾收集器
  8. day06整理
  9. bash_history文件怎么删除
  10. unity 初始化数据存储问题