当前页面: 开发资料首页 → JSP 专题 → 请教一个List接口的问题
请教一个List接口的问题
摘要: 请教一个List接口的问题
我在javabean和action里分别建立了两个List对象:List arr=new ArrayList();List list = new ArrayList;然后在javabean里用一个方法往arr里传了一些值,然后用另一个方法把arr return回去赋给list,然后把arr里面的值都削掉,结果发现list里的值也没有了,这是怎么回事呢?好像是list和arr指向的都是arr原来的那个对象,但我想要的不是这样的结果,请问如何避免这种情况呢?
arr = list ?
你代码怎么写的
List arr=new ArrayList();List list = new ArrayList();
创建的是两个对象 除非你arr=list; 否则两个对象不会相同的。
你的代码给出来看看
嘿嘿,很不幸,我就是这样写的:list=arr;
我想出了一种解决方法,再创建一个List list2=new ArrayList();
然后用它做中介,把arr的东西传到list里面,已成功,但是这种方法不好,大家有没有别的方法?请指教!~
List=arr;这个动作其实是将List这个句柄指向了arr所指向的对象(即list和arr指向的是同一个对象)。所以清空arr之后,List自然也是空的。你可以用这个办法来解决:list.addAll(arr);
for(int i=0;i
list.clear();
list.add(a.get(i));
}
楼上的方法更好,不过最好先把list清空
多谢各位!~ 学习啦~~