在 Java 中創建 2D 布爾數組的深層副本
問題:
避免使用.操作二維布林數組時使用clone(),如它創建的是淺拷貝而不是深拷貝。
問題:
如何在 Java 中執行 2D 布林數組的深拷貝?
答案:
迭代原始數組以建立一個新數組獨立元素。
Java 6 解決方案:
public static boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } final boolean[][] result = new boolean[original.length][]; for (int i = 0; i < original.length; i++) { result[i] = Arrays.copyOf(original[i], original[i].length); } return result; }
Pre Java 6 解:
// For Java versions prior to Java 6 public static boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } final boolean[][] result = new boolean[original.length][]; for (int i = 0; i < original.length; i++) { result[i] = new boolean[original[i].length]; System.arraycopy(original[i], 0, result[i], 0, original[i].length); } return result; }
以上是如何在 Java 中建立 2D 布林數組的深層複製?的詳細內容。更多資訊請關注PHP中文網其他相關文章!