问题肯定出在list = ub.allUser(); 这句上, 检查下UserBean的allUser方法里边做了什么操作,把allUser的代码贴出来看看,或者自己debug下

解决方案 »

  1.   

     恩,说的也是.不过,难道我在ub.allUser里能给list2赋值???
    可这句,我只是给list赋值啊.在ub里是共用一个list,但这里的赋值,难道只是简单的指向吗? 
      

  2.   

    UserBean ub = new UserBean();
           ArrayList list = new ArrayList();
           ArrayList list2= new ArrayList();
           list2 = ub.getGroup();
           System.out.println("list2.size() =" +list2.size());
           System.out.println("list.size() =" +list.size());
           list = ub.allUser();
           System.out.println("list2.get(1) =" + list2.get(1));
           System.out.println("list.get(1) =" + list.get(1));
           System.out.println("list=list2 ??" + (list==list2));
           UserForm uf = new UserForm();print:list2.size() =4
    list.size() =0
    list2.get(1) =com.yourcompany.struts.form.UserForm@17588d5
    list.get(1) =com.yourcompany.struts.form.UserForm@17588d5
    list=list2 ??true==========
    晕,怎么会这样....看来,我还是一点都不懂....55555555
    真的只是指向UB里的list   -_-
      

  3.   

    UserBean 看看这里边的代码,list和list2在       
            list2 = ub.getGroup(); 
           list = ub.allUser(); 
    这之后已经都引用UserBean 里的list了!
      

  4.   

    问题搞定了,哎,不管了,现在把list = ub.allUser(); 这种改成 list =(ArrayList) ub.allUser().clone()