此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【drunken_heart】截止到2008-07-07 11:33:03的历史汇总数据(不包括此帖):
发帖的总数量:0                        发帖的总分数:0                        
结贴的总数量:0                        结贴的总分数:0                        
无满意结贴数:0                        无满意结贴分:0                        
未结的帖子数:0                        未结的总分数:0                        
结贴的百分比:---------------------结分的百分比:---------------------
无满意结贴率:---------------------无满意结分率:---------------------
如何结贴请参考这里:http://topic.csdn.net/u/20080501/09/ef7ba1b3-6466-49f6-9d92-36fe6d471dd1.html

解决方案 »

  1.   

    commons lang 项目里有个深层复制的东东样的
      

  2.   

    clone对类的成员变量都是基本数据类型才有效
    如果成员变量是引用,那就要对该引用的类继续clone
    不行的话,写个copy构造函数,
    不过也要涉及递归copy
      

  3.   

    按照3楼的写了下面的构造函数,但只能读出第二层,不知道错在哪里,请指教,谢谢!
    public TreeNode(TreeNode cpy) {
            if(cpy.parentNode!=null) this.parentNode=(TreeNode)cpy.parentNode.clone();
            this.partId= v1.partId;
            this.processVector=(Vector)  cpy.processVector.clone();
            for(int i=0;i<cpy.childNode.size();i++){
                this.childNode.addElement(new TreeNode(((TreeNode)cpy.childNode.elementAt(i))));
            }
            
        }
    使用是安装下面的方法使用的:
    TreeNode tt=null;
            for(int m=0;m<V1.size();m++){
                tt=(TreeNode)((TreeNode)V1.elementAt(m)).clone();
                V2.addElement(new TreeNode(tt));
            }
      

  4.   

    你的childNode中的还是TreeNode,那要继续递归
      

  5.   

    this.processVector=(Vector)  cpy.processVector.clone(); 
    这个不行,直接new就行啦