gpt4 book ai didi

java - 如何在 Java 中对二维数组进行深拷贝?

转载 作者:IT老高 更新时间:2023-10-28 20:42:14 29 4
gpt4 key购买 nike

我刚刚在我的二维 boolean 数组上使用 .clone() 得到了一点启发,认为这是一个深拷贝。

如何执行我的 boolean[][] 数组的深层复制?

我应该循环遍历它并执行一系列 System.arraycopy 的操作吗?

最佳答案

是的,您应该遍历 2D boolean 数组以进行深度复制。如果您使用的是 Java 6,还请查看 java.util.Arrays#copyOf 方法。

我建议 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);
// For Java versions prior to Java 6 use the next:
// System.arraycopy(original[i], 0, result[i], 0, original[i].length);
}
return result;
}

关于java - 如何在 Java 中对二维数组进行深拷贝?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1564832/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com