慎用java的多维数组Java认证考试
文章作者 100test 发表时间 2010:01:01 15:48:46
来源 100Test.Com百考试题网
前一段时间做的一个项目中,有一处用到了一个多维数组来保护页面的状态。
这个数组所为一个javaBean对象的属性存在,这个javaBean对象被保存在session中,
我在修改jsp页面的时候,需要对数组中的一些值做转换。原来代码是这样的:
String [][] inputData = new String [5][24].
inputData = xxxjavaBean.getSendItem().
我在后面修改的时候,改变了inputDate的中的值。结果品质部在测试的时候,发现有一个页面的状态到了
第三个页面去,在返回来的时候就无法记录原来的状态。用debug调试,问题处在保存在session中的javaBean对
象值被修改了,我找了一个上午都没有找到问题所在,所有可能修改session中值得地方,(.java文件)我都找遍
了。后来在看jsp页面的时候,发现了这里有个多维数组,才想起来,java中的数组是引用传递。我在jsp页面上修
改的数据,其实修改的是session中的数据。从而造成了这bug的出现。
java中的数据对象,在复制数组的是要注意,有多种方法得到Java数组的值拷贝。
1.可以使用循环,将整个数组的元素值遍历一遍,并指定给另一个数组相对应的索引位置
int[] arr1 = {1, 2, 3, 4, 5}.
int[] arr2 = new int[5].
for(int i = 0. i