在Java 中深度複製二維數組
java.lang.clone() 方法創建數組的淺表副本,這意味著它僅複製對原始數組的引用。修改副本仍然會影響原始數組。另一方面,深層複製會建立一個完全獨立的陣列實例,並具有自己的一組元素。
執行深層複製
執行boolean[][] 陣列的深層複製,您可以迭代該陣列並為每一行建立一個新陣列:
boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } 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; }
對於Java 6之前的Java版本,您可以使用System.arraycopy,如下圖:
boolean[][] deepCopy(boolean[][] original) { if (original == null) { return null; } 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 中執行二維布林數組的深度複製?的詳細內容。更多資訊請關注PHP中文網其他相關文章!