gpt4 book ai didi

java - 我有包含 String[] 的 ArrayList,如果我将新的 string[] 添加到列表中,它还会修改之前添加的 string [] 对象

转载 作者:行者123 更新时间:2023-12-01 07:38:20 26 4
gpt4 key购买 nike

我正在将 string[] 添加到 Arraylist 中,但是当我尝试从中检索值时,发生了错误。以及 arraylist 的先前值被新条目更新(String[])预期输出:
第一、秒
1, 2
一、二

电流输出:
一、二
一二一、二

下面是代码。

   ArrayList<String[]> list = new ArrayList<String[]>();
String[] temp ={"First","Sec"};
list.add(temp);
temp[0] ="1";temp[1]="2";
list.add(temp);
temp[0] ="one";temp[1]="two";
list.add(temp);

printLog(list);

这是打印方法

   private void printLog(ArrayList<String[]> result) {
for (int i = 0; i < result.size(); i++) {
Log.d(TAG,"I="+i);
String[] temp = result.get(i);
Log.d(TAG,temp[0]+","+temp[1]+"\n");
}

}

任何建议。

最佳答案

您正在将数组对象的引用添加到列表中。每次都需要创建新的数组。

   String[] temp ={"First","Sec"};
list.add(temp);
temp=new String[2];
temp[0] ="1";temp[1]="2";
list.add(temp);

关于java - 我有包含 String[] 的 ArrayList,如果我将新的 string[] 添加到列表中,它还会修改之前添加的 string [] 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8677007/

26 4 0