站内搜索: 请输入搜索关键词

当前页面: 开发资料首页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;ilist.clear();
list.add(a.get(i));
}


楼上的方法更好,不过最好先把list清空


多谢各位!~ 学习啦~~



↑返回目录
前一篇: hibernate + struts 的update语句怎么写
后一篇: 关于用include后页面变乱码的问题??