深复制与浅复制
来源:互联网 发布:少年手指虎淘宝 编辑:程序博客网 时间:2024/05/21 07:15
深复制和浅复制都是拷贝一个对象,既然都是拷贝二者有什么不同呢?我们来仔细分析一下。
我们在D盘中建立一个表格,每次从D盘中找回很麻烦,怎么才能省事呢?在桌面创建一个快捷方式,这样就可以很方便的打开了,这种方式称为浅复制,如果进入D盘中改变数据,则用快捷方式打开后数据也会发生改变。
还有一种方式,直接在桌面上Copy一份该表,这样对表的操作不会影响到另一个表中的数据,这称为深复制。
下面以图来详细说明二者的不同:
【浅复制】
如上图所示,Copy2含有原来的对象相同的值,但是仍然指向同一个引用,所以改变值后,复制出来的值都会发生改变。这只是简单的赋值。
【深复制】
而深复制则会复制引用,动态地给对象分配了一个空间,当改变一个值时,不会对另一个空间中的值有影响。
深复制和浅复制都是Copy一个对象,当我们只需要传值时可以直接应用浅复制,但当我们需要把复制的对象都复制一遍,就要采用深复制。
0 0
- 浅复制与深复制
- 浅复制与深复制
- 深复制与浅复制
- 浅复制与深复制
- 深复制与浅复制
- 深复制与浅复制
- 浅复制与深复制
- 浅复制与深复制
- 浅复制与深复制
- 浅复制与深复制
- 深复制与浅复制
- 浅复制与深复制
- 深复制与浅复制
- 浅复制与深复制
- 深复制与浅复制
- 深复制与浅复制
- JAVA中浅复制与深复制
- JAVA中浅复制与深复制
- JIRA、Jira client和jqGrid实践
- 关于int offset = (int)(T*)1 - (int)(Singleton <T>*)(T*)1;
- java web项目 权限管理
- 数据库自学笔记
- MySQL填充字符串的函数LPAD(s1,len,s2)和RPAD(s1,len,s2)
- 深复制与浅复制
- C++ Primer第五版刷刷总结之第一章例程
- c/c++ (疑1)数组和指针
- MVC+LINQ+EF实战(.NET平台)
- rails项目编写中的一些小技巧小心得
- [LeetCode]Largest Number
- 15多线程编程
- java定义数组的三种类型
- 网络编程中何时转换传输数据的字节序