据我了解,我们可以使用java.util.Arrays.copyOf
复制二维数组,但是将其用于防御性复制是否安全(假设元素是不可变的)?例如。
void setValues(Integer[][] arr) {
this.arr = Arrays.copyOf(arr, arr.length);
}
最佳答案
Arrays.copyOf
在内部使用System.arraycopy
,所以不,它不适合制作防御性(深层)副本(至少不适用于可变类型)。
据我了解,我们可以使用java.util.Arrays.copyOf
复制二维数组,但是将其用于防御性复制是否安全(假设元素是不可变的)?例如。
void setValues(Integer[][] arr) {
this.arr = Arrays.copyOf(arr, arr.length);
}
最佳答案
Arrays.copyOf
在内部使用System.arraycopy
,所以不,它不适合制作防御性(深层)副本(至少不适用于可变类型)。