欢迎来到 常识词典网 , 一个专业的常识知识学习网站!
[ Ctrl + D 键 ]收藏本站
答案 1:
首先必须知道Java拷贝的用途:Java-是为了得到一个对象,这个对象与-前的对象完全一样,唯一不同就是它们所处的内存地址不相同。对于java中的一切对象(除了基本的数据结构int、float、string等之外)在进行赋值,方法传递的时候,都是一个内存地址的同一个对象! 所谓浅拷贝一般就是就是直接调用对象的clone()方法,这样的拷贝,对于这个对象中的基本数据类型(int、string、float等)的属性,是可以得到完全的拷贝,但是对于这个对象里面的非基本数据类型(对象、集合等)的某些属性,实际上并没有进行-,而只是进行一个赋值操作而已,也就是说-出来的对象与原对象有一部分内容的内存地址是相同的,这在某些情况下会造成出错! 由此提出了深拷贝的概念,即覆写clone()方法,遍历对象中的每一个属性,采取合适的方式进行-即可。例如对于对象中的集合,可以遍历集合,然后构造一个新的集合,重新存储一遍... 更过关于Java-的问题详见Blog:-i.baidu/-wa-l36...答案 2:
Object需要实现-接口Clonable。在实现clone方法的时候,一般这样做:class MyObject implements Cloneable { Foo member; public void clone(){ MyObject anot-er = new MyObjct(); if (member instanceof Cloneable){ anot-er.member = (Foo)(((Cloneable)member).clone()); } } }}以上仅仅是实例代码。答案 3:
浅拷贝和深拷贝的区别就是在处理对象引用时,浅拷贝只-引用,而深拷贝会将引用对应的对象-一份。深拷贝一般都对串行化和对象序列化来实现。下一篇:VO- 形式的呼叫中心的技术特点是什么?风险点在哪里? 下一篇 【方向键 ( → )下一篇】
上一篇:光明会真的存在吗?在-它是怎么样的? 上一篇 【方向键 ( ← )上一篇】
快搜