如何深度复制二维字符串数组?
How to deep copy a 2d String array?
public static String[][] deepCopy(String[][]toclone){
String[][]clone = new String[4][4];
for(int i = 0; i < 4; i++) {
for(int j = 0; j < 4; j++) {
if(toclone[i][j] != null) {
String s = new String(toclone[i][j]);
clone[i][j] = s;
}
}
}
return clone;
}
我的程序需要一个深拷贝,而不仅仅是一个平面拷贝。clone() 对我的问题不起作用。已经感谢您的提示,advice.This 问题之前没有得到回答,或者至少没有回答与 2d int 数组深拷贝相关的问题。那对我一点帮助都没有。
您可以使用其中之一:
- Arrays.copyOf()
- System.arraycopy()
- 对象 clone() 方法
如果您正在寻找更高级的克隆库 api,您可以查看
org.apache.commons.lang3 SerializationUtils
public static String[][] deepCopy(String[][]toclone){
String[][]clone = new String[4][4];
for(int i = 0; i < 4; i++) {
for(int j = 0; j < 4; j++) {
if(toclone[i][j] != null) {
String s = new String(toclone[i][j]);
clone[i][j] = s;
}
}
}
return clone;
}
我的程序需要一个深拷贝,而不仅仅是一个平面拷贝。clone() 对我的问题不起作用。已经感谢您的提示,advice.This 问题之前没有得到回答,或者至少没有回答与 2d int 数组深拷贝相关的问题。那对我一点帮助都没有。
您可以使用其中之一:
- Arrays.copyOf()
- System.arraycopy()
- 对象 clone() 方法
如果您正在寻找更高级的克隆库 api,您可以查看