在 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中文网其他相关文章!