gpt4 book ai didi

JAVA Arraylist 意外输出

转载 作者:行者123 更新时间:2023-11-29 05:45:39 25 4
gpt4 key购买 nike

预期输出:单元格 1 单元格 2Cell-3 Cell-4

但我得到的输出是:单元 3 单元 4Cell-3 Cell-4

为什么会这样?

import java.util.ArrayList;

public class Test {
public static void main(String... a) {
String[][] var1 = new String[] []{{"Cell-1","Cell-2"},{"Cell-3","Cell-4"}};
ArrayList<String> r = new ArrayList<String>();
ArrayList<ArrayList<String>> var = new ArrayList<ArrayList<String>>();

//Insering data into the ArrayList.
for(String[] row : var1){
r.clear();
for(String data : row){
r.add(data);
}
var.add(r);
}

//Print data to console.
for(ArrayList<String> r1 : var){
for(String cell : r1)
System.out.print(cell+" ");
System.out.println();
}
}

}`

最佳答案

这一点也不出乎意料:您添加了相同的对象,即 ArrayList r , 至 ArrayList var两次。首先,当它有 Cell-1 Cell-2 时添加它,然后清除它,然后用 Cell-3 Cell-4 添加它.问题是,当您调用 r.clear() ,您添加到 var 的数组列表也被清除。

您需要创建一个新的 ArrayList而不是清除现有的来解决这个问题:替换 r.clear()r = new ArrayList<String>() ,问题就会消失。

关于JAVA Arraylist 意外输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15946009/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com