我刚刚使用了一点.clone()
在我的第二天boolean
array,认为这是一个深拷贝。
我怎样才能执行我的深度复制boolean[][]
array?
我应该循环它并做一系列System.arraycopy
's?
是的,您应该迭代二维布尔数组才能深度复制它。还看java.util.Arrays#copyOf
方法(如果您使用的是 Java 6)。
我建议 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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)