Java - 循环中的循环,格式丢失

时间:2017-09-18 09:21:30

标签: java loops for-loop

我是法国人,请原谅我的英语不一定正确。

我解释了上下文,我目前有一个名为&#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);

2 个答案:

答案 0 :(得分:0)

好吧,你没有对列表进行“复制”

tempDrugsTableListCopy = tempDrugsTableList; // Get copy of original tempDrugsTableList for comparate

但是共享引用,tempDrugsTableListCopy中完成的每个更新都将在原始列表中完成(相同的引用,内存中的相同地址)。由于您在以下循环中更新该副本...您也更新了原始列表。你想要的是克隆列表。

您只需使用copyList = new ArrayList(originalList);即可完成此操作,或者对于深度克隆,您需要迭代每个元素以复制它们。 (如果你改变那些值,那么数组也需要重复)

答案 1 :(得分:-1)

“String []”tmpCustomerIds表示您从字符串数组中获取字符串数组,您将在二维数组中使用该数组。在每个循环中只使用“String”进行尝试。我假设你在这种情况下使用1d数组。