zoukankan      html  css  js  c++  java
  • 深拷贝与浅拷贝

    首先通过一句话来解释:深拷贝就是内容拷贝,浅拷贝就是指针拷贝。

    深拷贝就是拷贝出和原来仅仅是值一样,但是内存地址完全不一样的新的对象,创建后和原对象没有任何关系。浅拷贝就是拷贝指向原来对象的指针,使原对象的引用计数+1,可以理解为创建了一个指向原对象的新指针而已,并没有创建一个全新的对象。

    (1)非容器类对象的深拷贝、浅拷贝

    对于字符串这类非容器类对象,copy是浅拷贝,mutable是深拷贝。

    对于MutableString,无论是copy还是mutableCopy,都会创建一个新对象,都是属于深拷贝。

    对于可变对象的复制,都是深拷贝;

    -- 可变对象copy后返回的对象是不可变的,mutableCopy后返回的对象是可变的。

    (2)非容器类对象的深拷贝、浅拷贝

    -- 容器对象和非容器对象类似,可变对象复制(copy,mutableCopy)的都是一个新对象;不可变对象copy是浅复制,mutableCopy是深复制。

    -- 对于容器而言,元素对象始终是指针复制。

  • 相关阅读:
    与HDFS交互- By java API编程
    与HDFS交互- By web界面
    与HDFS交互-By shell命令
    hadoop下HDFS基本命令使用
    ubuntu安装hadoop经验
    HTTP状态码了解
    软件需求与分析
    软件需求与分析
    软件需求与分析
    浪潮之巅
  • 原文地址:https://www.cnblogs.com/hadyt/p/5623152.html
Copyright © 2011-2022 走看看