`
tianyalinfeng
  • 浏览: 442173 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

深度复制

    博客分类:
  • Java
 
阅读更多

浅复制:将一个对象复制后,基本数据类型的变量都会重新创建,而引用类型,指向的还是原对象所指向的。

深复制:将一个对象复制后,不论是基本数据类型还有引用类型,都是重新创建的。简单来说,就是深复制进行了完全彻底的复制,而浅复制不彻底。

 

  1.  /* 写入当前对象的二进制流 */  
  2.         ByteArrayOutputStream bos = new ByteArrayOutputStream();  
  3.         ObjectOutputStream oos = new ObjectOutputStream(bos);  
  4.         oos.writeObject(obj);  
  5.   
  6.         /* 读出二进制流产生的新对象 */  
  7.         ByteArrayInputStream bis = new ByteArrayInputStream(bos.toByteArray());  
  8.         ObjectInputStream ois = new ObjectInputStream(bis);  
  9.         return ois.readObject();  

 

 

分享到:
评论

相关推荐

    java List 深度复制方法

    这篇博客将探讨如何在Java中对List进行深度复制。 首先,我们来理解一下什么是浅复制和深复制。在Java中,当我们使用`clone()`方法或`System.arraycopy()`进行复制时,通常得到的是浅复制的结果。这意味着原始对象...

    如何由浅复制到深度复制

    我想实现了深度复制呢,也就是我新复制出来的对象不是仅仅复制引用, 而是复制对象!比如说,你需要在一个模板的基础上修改出5个版本的建立,每个版本投递到不同的企业上,版本1投给公司A,版本2投给公司B,。。。...

    c#深度复制浅度复制

    在C#编程中,"深度复制"和"浅度复制"是对象复制过程中两个重要的概念,它们涉及到如何正确地复制复杂的数据结构。了解并熟练掌握这两种复制方式对于编写高效、可靠的代码至关重要。 首先,让我们来定义这两个术语:...

    java深度复制源代码

    ### Java深度复制源代码知识点解析 #### 一、深度复制概念 在Java中,对象的复制分为浅复制和深度复制两种。浅复制是指创建一个新的对象,并将原对象的非引用类型的字段值复制到新对象中;对于引用类型的字段,只是...

    List Clone.zip_c list深度复制_list clone_list的深度复制 C#

    List的深度复制 浅谈C#中List<T>对象的深度拷贝问题

    C#中深度复制和浅度复制详解

    在C#编程中,了解深度复制和浅度复制的概念至关重要,因为它们直接影响到对象的复制行为,特别是当处理包含复杂数据结构的对象时。本文将详细解释这两种复制方式,并通过一个实例来展示它们的区别。 首先,让我们...

    【IT十八掌徐培成】Java基础第16天-03.串行化-深度复制.zip

    深度复制和浅复制是复制对象的两种方式。浅复制只是复制对象的引用,而深复制则会创建一个新的对象,并复制原对象的所有属性,包括嵌套的对象。对于非基本类型的成员变量,如果进行浅复制,新复制的对象和原对象会...

    java 深度拷贝 复制 深度复制.zip

    在Java编程中,深度拷贝和浅拷贝是两种重要的对象复制方式,它们涉及到对象的内存管理和内存结构的复制。本篇文章将详细讲解如何利用Java的反射机制实现深度拷贝,以及这种方式的优点和注意事项。 首先,理解深度...

    Java数组集合的深度复制代码实例

    Java数组集合的深度复制代码实例 Java数组集合的深度复制代码实例是Java程序设计中的一种重要技术,它可以将数组或集合中的数据复制到另一个数组或集合中,从而实现数据的备份或传输。本文将通过示例代码详细介绍...

    C#复制和深度复制的实现方法

    在C#编程中,复制对象是一项常见的操作,通常分为浅表复制和深度复制两种方式。浅表复制仅复制对象的引用,而深度复制则会创建一个全新的对象,包括所有嵌套的对象。下面我们将详细探讨这两种复制方法以及如何在C#中...

    Java深度复制功能与用法实例分析

    在Java编程中,深度复制是一种创建对象副本的方法,它不仅复制对象本身,还复制对象引用的所有内部对象。这种复制方式确保原始对象和副本之间没有共享任何引用,它们各自拥有独立的内存空间,修改其中一个对象不会...

    ASP.NET深度复制和浅度复制分析

    ***中深度复制和浅度复制是编程中常见的概念,尤其是在涉及到对象复制和内存管理的场景中。为了理解这两个概念,首先我们需要明确值类型和引用类型的区别。 值类型直接存储其数据,而在.NET框架中包括了所有的基本...

    C# 使用反射来实现对象的深度复制方法

    深度复制(Deep Copy)是指创建一个新的对象,不仅复制原始对象的值,还复制其引用类型的属性指向的新对象,确保修改副本不会影响原始对象。本文将详细介绍如何使用反射来实现对象的深度复制。 反射是.NET框架提供...

    JavaScript 数组的深度复制解析

    因此,当需要对数组进行深度复制时,即创建一个新的数组,其中包含原始数组的所有元素以及嵌套数组或对象的副本,而不改变原始数组,就需要使用特定的方法。 1. **数组的简单复制** 在JavaScript中,可以使用循环...

    Vue.js之slot深度复制详解

    总结来说,当遇到Vue.js中插槽的深度复制问题时,我们可以通过编写自定义的render函数来实现,通过深度复制函数来确保每个VNode的唯一性,进而能够在组件的不同位置插入相同的内容,避免Vue.js渲染时出现的重复警告...

    JavaScript深度复制(deep clone)的实现方法

    JavaScript中的深度复制,也称为深克隆,是一种创建新对象的方法,这个新对象与原对象具有相同的属性和值,包括嵌套的对象和数组。在JavaScript中,深复制不同于浅复制,浅复制只复制对象的顶层属性,而不复制其内部...

Global site tag (gtag.js) - Google Analytics