我这弄双重数组,数组例子:yh_pjxx 其值为[['sa',[]],['aa',[]]],我用 ArrayList pjxx1 = (ArrayList)yh_pjxx.get(0),取得 pjxx1 ,值为['sa',[]];再用pjxx2 = (ArrayList)pjxx1.get(1); 取得pjxx1的数组即[],我对pjxx2进行操作,给这个数组赋值['1','2','3','4'],结果 yh_pjxx 的值变成了[['sa',['1','2','3','4']],['aa',['1','2','3','4']]],本来只想对yh_pjxx 的第一个值里的数组进行操作,结果2个值的数组都变了,请大家帮忙看看是怎么回事,如何解决这个问题?
解决方案 »
- java.sql.SQLException: The url cannot be null 寻求帮助
- 大哥们,问一下新人学struts+spring应该怎么入手?
- 我要把数据库里某字段(Date)型转换成“****年**月”字样的String型,怎么转啊
- struts出错了 ,有没高手帮我看看
- 关于购物车javaBean出现的问题
- 网页内嵌的media player如何播放非http,rstp,mms协议的流媒体??急
- 关于eclipse+jbosside+jsp的简单问题
- 初学者请教:我写了个JSP数据记录集分页,总是提示NoSuchMethodError错误
- 这个异常是什么原因造成的?急
- 各位大哥,小弟现在又有一个问题了!要马上解决,要不又被骂了!
- 如何解决struts list表单ArrayIndexOutOfBoundsException错误?
- 求几秒后跳转到新页面的代码!!
这样说明你的yh_pjxx[0][1] 与 yh_pjxx[1][1] 是同一个对象,当时你放入yh_pjxx[1]时,没有重新new一个ArrayList,还是使用之前的ArrayList
ArrayList<String []> list = new ArrayList<String []>();
list.add();
你可以试一下,不过给一个字符串数组赋值时,好像要循环赋值。直接赋好像执行不过去
yh_pjxx 其值为[['sa',['1','2','3']],['aa',['4','5','6']]],
下面代码是想把yh_pjxx的第一个值['sa',['1','2','3']]中的['1','2','3']给清空,弄成如下效果
[['sa',[]],['aa',['4','5','6']]];
结果代码执行效果是 [['sa',[]],['aa',[]]];其中 userid = 'sa';
ArrayList pjxx2 = new ArrayList();
for (int k = 0; k < yh_pjxx.size(); k++) {
ArrayList pjxx1 = (ArrayList)yh_pjxx.get(k);
if (pjxx1.get(0).equals(userid)){
pjxx2 = (ArrayList)pjxx1.get(1);
pjxx2.clear();
pjxx1.set(1, pjxx2);
yh_pjxx.set(k, pjxx1);
}
}
for (int k = 0; k < yh_pjxx.size(); k++) {
ArrayList pjxx2 = new ArrayList();//这里修改了
ArrayList pjxx1 = (ArrayList)yh_pjxx.get(k);
if (pjxx1.get(0).equals(userid)){
pjxx2 = (ArrayList)pjxx1.get(1);
pjxx2.clear();
pjxx1.set(1, pjxx2);
yh_pjxx.set(k, pjxx1);
}
}
这样试试。