如何深度复制二维字符串数组?

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 数组深拷贝相关的问题。那对我一点帮助都没有。

您可以使用其中之一:

  1. Arrays.copyOf()
  2. System.arraycopy()
  3. 对象 clone() 方法

如果您正在寻找更高级的克隆库 api,您可以查看

org.apache.commons.lang3 SerializationUtils