java浅拷贝深拷贝

  1. 如果类不实现Clonable接口就重写Object中的clone方法就会抛出CloneNotSupportedException 异常


    image.png

    2.浅拷贝
    在A中没有对成员中引用类型进行递归拷贝,所以a和ac中的B指向同一个对象。a中基本类型proto和ac中的proto是两个不同基本类型变量,ac中的proto改变并不会引起a中proto的改变。


    image.png

3.深拷贝
对A成员中的引用类型进行拷贝,并对成员进行递归拷贝


image.png

4.LinkedList中clone方法是浅拷贝


image.png

5.ArrayList中clone方法是浅拷贝


image.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 深拷贝和浅拷贝的概念,我自己在学习Java的时候也没注意,虽然Java中对象回收工作由GC帮我们做了,但在码代码时...
    DreamFish阅读 5,899评论 0 6
  • 基本知识 Java在运行时的内存使用分两块:栈内存与堆内存。 只就变量而言,栈内存上分配一些基本类型的变量(如in...
    野梦M阅读 601评论 0 1
  • 有时候在自定义navigationBar的左右按钮的时候,button的图片会显得很大,个人感觉原因有以下几种情况...
    光是光光的光呐阅读 4,566评论 0 1
  • 独赏一窗春, 独享一朝闲。 独居一斗室, 独食一顿餐。 (我的同头同心诗作得可好?)
    黯黯红尘一路相伴阅读 2,575评论 4 4
  • 你说你住在彼岸 彼岸太多岛屿 我不知你在哪一座 我从未问起 把它当做你缄默的秘密 我生怕有一天你也会离去 像我养的...
    茜华子阅读 456评论 1 3