请问克隆和赋值的区别(见源码) 本人认为第一种方法就是一种引用,原实例变量和副本引用的均是一个内存空间,着就意味着我们改变其中一个实例变量,另外一个也跟着变化。用CLONE()方法,CLONE后的对象和原来的不是一存储空间,这样操作其中一个对另外一个没有影响。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上正解。第一种只是两个对象的引用值相同,真正的对象只有一个。如果想拥有一个和原来对象的值(数据成员)相同的对象(共两个),就要用到Clone方法。 Vector v2 = (Vector)v.clone();不知道vector是深度clone还是浅度clone...但两种看起来好像没有什么区别,因为当改变v的时候,v2也被改变,好像是它们都指向同一块内存。是吗?按你这么说,默认的是浅度clone.你可以自己实现一下深度clone.这样v 和v2就互不干扰了 ------------------------------------------------------ 我们还年轻牛奶会有的奶牛也会有的 可天天在 csdn 混这些会有吗 ?? 同意LingFengNB的看法注:需要时只需对非基本类型的对象变量进行克隆所谓深浅克隆是指: 如果类中含有类型为非基本型(基本型如: int,float)的属性时,如Employee类中可以含有Data型的雇佣日期属性,这时要想克隆一个Employee类的对象,就要考虑是否要对Data型的属性进行克隆,若实现了对所有对象类型的属性的克隆则是深克隆,否则浅克隆. LinkedList 源码求解 java下改变字体无效????求高人解决 利用数组实现栈结构,完成数据的入栈出栈(用java) 关于在DOS下编译多文件程序 设java环境方法(新人可以来看) 共产生了3个socket,那么,通信过程中是哪两个socket在通信呢? 一个让我气得吐血的问题!!!!! 求教!!!当你看到以下的内容…… 初级问题请教:ComboBox这个东西到底怎么用啊?! 为什么Timer一能工作? java中如何对html文件解析 我想学java
不知道vector是深度clone还是浅度clone...但两种看起来好像没有什么区别,因为当改变v的时候,v2也被改变,好像是它们都指向同一块内存。是吗?
按你这么说,默认的是浅度clone.你可以自己实现一下深度clone.这样v 和v2就互不干扰了 ------------------------------------------------------
我们还年轻牛奶会有的奶牛也会有的
可天天在 csdn 混这些会有吗 ??
如果类中含有类型为非基本型(基本型如: int,float)的属性时,如Employee类中可以含有Data型的雇佣日期属性,这时要想克隆一个Employee类的对象,就要考虑是否要对Data型的属性进行克隆,若实现了对所有对象类型的属性的克隆则是深克隆,否则浅克隆.