gpt4 book ai didi

Java:数组的工作原理

转载 作者:搜寻专家 更新时间:2023-10-31 08:10:11 25 4
gpt4 key购买 nike

我今天使用的是相对较大的 String 数组。 (大约 400 x 400 大小)我想知道如何使一个数组等于另一个数组。例如,

String[][] array1 = new String[400][400];
String[][] array2 = array1;

使一个数组等于另一个数组是否与遍历每个元素并使其等于另一个数组中的相应位置是一回事? (如下图)

for(int y = 0; y < 400; y++) {
for(int x = 0; x < 400; x++) {
array2[x][y] = array1[x][y];
}
}

现在循环方法与使一个数组等于另一个数组是一回事吗?还是第一个/第二个比另一个快?就个人而言,我认为第一个会更快,因为没有递归或必须在递归之前手动将内存分配给 array2。但是,我不知道从哪里开始寻找这些信息,我想了解 Java 如何处理这些事情的逻辑。

最佳答案

不,这不是一回事:数组是引用对象,所以 array2 成为 array1 的别名,而不是它的副本。您对 array2 的元素所做的任何分配通过 array1 变得“可见”,反之亦然。如果您想复制一维数组,可以使用它的 clone() 方法;请注意,副本将,即数组的各个元素不会被克隆(使得该技巧不适用于您在帖子中描述的二维数组).

关于Java:数组的工作原理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11927681/

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