我正在使用一个使用二维数组字符串的程序(可能不是那么聪明,但是呃),我想写一个函数来接受其中一个数组(比如说array1),make一个独立的副本,并返回它(比如说array2).但是,当我在array2中更改一个值时,它似乎反映在array1中.
我的功能目前看起来像这样:
public static String[][] copy(String[][] matrix, int n) {
String[][] out = new String[n+1][n+1];
for (int i = 0; i < n+1; i++)
for (int j = 0; j < n+1; j++) {
if(matrix[i][j] != null) {
String cp = new String(matrix[i][j]);
out[i][j] = cp;
}
}
return out;
}
Run Code Online (Sandbox Code Playgroud)
我声明了一个新的字符串数组,然后遍历它,分别复制每个值.当这不起作用时,我甚至尝试从每个旧字符串中明确声明一个新字符串并将其放入数组中.
谁能告诉我哪里出错了?