如何深度复制2D字符串数组?

时间:2019-01-17 20:33:05

标签: java arrays 2d deep-copy

    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()无法解决我的问题。已经感谢您的提示和建议。此问题之前或至少没有与2d int数组深层副本相关的问题回答。那根本对我没有帮助。

1 个答案:

答案 0 :(得分:-2)

您可以使用以下任意一个:

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

如果您正在寻找带有克隆API的更高级的库,则可以检查

org.apache.commons.lang3 SerializationUtils