浅复制:只复制基本数据类型。
深复制:复制包括引用在内的所有内容。
这个没搞错吧。
深复制:复制包括引用在内的所有内容。
这个没搞错吧。
解决方案 »
- 求助!!!MyEclipse 8启动后弹出“problem occurred”对话框
- 为什么test为空了,还能使用test.i,打印出7来?
- 如何用java 将全国所有的省,市,地区存入mysql 数据库
- JTable删除列的问题
- 关于面板数组的使用
- 要实现光标定位在文本框显示提示消息(类似与图片的alt属性)用JS怎么实现。急急急急急 在线等
- 怎样把byte[]转换为String
- !!!java中可不可以编出全局热键,就像QQ中的Ctrl+Alt+Z,参与有分!!!!!!
- 醒目 200分求购 JProfiler最新版本的Crack,分数不够可以再加,急!
- 有没有JBulider6的好书,介绍一下。
- 关于swing请前辈帮助
- 新手 螺旋方阵的代码无法显示
http://topic.csdn.net/u/20101114/23/99447a93-5146-481a-a26e-d6269066edcd.html?30129你们不会是同学吧?
浅拷贝的话,直接super.clone就行了
或者return this
public class Test {
private int total;
private Test test;
public Test getTest() {
return test;
}
public void setTest(Test test) {
this.test = test;
}
public int getTotal() {
return total;
}
public void setTotal(int total) {
this.total = total;
}
public Object clone() {
Test clone = new Test();
clone.setTotal(this.getTotal());
clone.setTest(this.getTest());
return clone;
}
}
附带一个二叉树的深拷贝简单代码:
/**
* 二叉树深拷贝
* @param node
* @param treeNode
*/
public void copy(BinTreeNode<T> node,BinTreeNode<T> treeNode){
if(node == null){
return ;
}else{
treeNode.setValue(node.getValue());
if(node.getLeftNode()!=null){
BinTreeNode<T> tempNode= new BinTreeNode<T>();
treeNode.setLeftNode(tempNode);
copy(node.getLeftNode(),tempNode);
}
if(node.getRightNode()!=null){
BinTreeNode<T> tempNode = new BinTreeNode<T>();
treeNode.setRightNode(tempNode);
copy(node.getRightNode(),tempNode);
}
}
}