首页 >Java >java教程 >如何在 Java 中执行二维布尔数组的深度复制?

如何在 Java 中执行二维布尔数组的深度复制?

Barbara Streisand
Barbara Streisand原创
2024-12-19 02:55:10997浏览

How to Perform a Deep Copy of a 2D Boolean Array in Java?

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

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn