gpt4 book ai didi

Java字符串数组初始化循环结构内外

转载 作者:行者123 更新时间:2023-12-02 04:03:40 25 4
gpt4 key购买 nike

在下面的代码中

    // Assume there are non-null string arrays arrayA and arrayB 

// Code 1
ArrayList<String[]> al = new ArrayList<String[]>();
String[] tmpStr = new String[2];
for (int ii = 0; ii < arrayA.length; ii++) {
tmpStr[0] = arrayA[ii];
tmpStr[1] = arrayB[ii];
al.add(ii, tmpStr);
}

// Code 2
ArrayList<String[]> al = new ArrayList<String[]>();

for (int ii = 0; ii < arrayA.length; ii++) {
String[] tmpStr = new String[2];
tmpStr[0] = arrayA[ii];
tmpStr[1] = arrayB[ii];
al.add(ii, tmpStr);
}

代码 2 给出了想要的结果——也就是说,al 现在包含其每个索引的 {arrayA(ii), arrayB(ii)}。然而,在代码 1 中,al 的所有索引都包含 {arrayA(last_index), arrayB(last_index)}。这是为什么?

最佳答案

Java 数组是可变的。您的代码多次添加单个数组,并在每次迭代时修改同一数组。

关于Java字符串数组初始化循环结构内外,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7252956/

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