【问题标题】:How to deep copy a 2d String array? [duplicate]如何深度复制二维字符串数组? [复制]
【发布时间】:2019-01-17 20:33:04
【问题描述】:
    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 数组深拷贝相关的问题得到解答。这对我一点帮助都没有。

【问题讨论】:

  • 忘了提:我已经走了多远,但遗憾的是我的解决方案不适合我。 ://

标签: java arrays 2d deep-copy


【解决方案1】:

您可以使用以下任何一种:

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

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

org.apache.commons.lang3 SerializationUtils

【讨论】:

  • 感谢您的回答。我尝试了您的解决方案,但它们都不适合我。也许我做错了,你会这么好心,写一段代码如何使用你的解决方案。我仍然是一个该死的初学者。
  • String myTwoDimensionalStringArray[][] = {{"Apple", "Banana"}, {"Pork", "Beef", "Chicken"}, {"Carrots"}};字符串 clonedArray[][] = Arrays.copyOf(myTwoDimensionalStringArray, myTwoDimensionalStringArray.length);
猜你喜欢
  • 2010-10-16
  • 2010-09-30
  • 2015-10-21
  • 1970-01-01
  • 1970-01-01
  • 2019-06-10
  • 1970-01-01
  • 2011-07-30
  • 1970-01-01
相关资源
最近更新 更多