我是法国人,请原谅我的英语不一定正确。
我解释了上下文,我目前有一个名为&#34的字符串数组列表; tempCustomerDrugsIdsList" (var1)和另一个名为" tempDrugsTableList"(var2)的字符串数组列表。
当我做一个循环" For" on" var1"然后另一个在" var2"," var2"失去它的格式,我。即大写字母由小写字母替换,空格被删除。
我测试了另一个具有相同类型变量的循环(但是空的),结果是相同的我认为问题来自于我使用java的方式。在vb。之前,我必须养成一些坏习惯!
我不知道如何解决这个问题,我只在java工作了2周。
感谢您帮助我。
[编辑]
我的问题是:
List<String[]> tempDrugsTableList = otherList;
但是这段代码并没有复制列表。
AxelH给了我以下解决方案:
List<String[]> tempDrugsTableList = new ArrayList<String[]>(otherList);
答案 0 :(得分:0)
好吧,你没有对列表进行“复制”
tempDrugsTableListCopy = tempDrugsTableList; // Get copy of original tempDrugsTableList for comparate
但是共享引用,tempDrugsTableListCopy
中完成的每个更新都将在原始列表中完成(相同的引用,内存中的相同地址)。由于您在以下循环中更新该副本...您也更新了原始列表。你想要的是克隆列表。
您只需使用copyList = new ArrayList(originalList);
即可完成此操作,或者对于深度克隆,您需要迭代每个元素以复制它们。 (如果你改变那些值,那么数组也需要重复)
答案 1 :(得分:-1)
“String []”tmpCustomerIds表示您从字符串数组中获取字符串数组,您将在二维数组中使用该数组。在每个循环中只使用“String”进行尝试。我假设你在这种情况下使用1d数组。