据我了解,我们可以使用java.util.Arrays.copyOf复制二维数组,但是将其用于防御性复制是否安全(假设元素是不可变的)?例如。

void setValues(Integer[][] arr) {
    this.arr = Arrays.copyOf(arr, arr.length);
}

最佳答案

Arrays.copyOf在内部使用System.arraycopy,所以不,它不适合制作防御性(深层)副本(至少不适用于可变类型)。

09-10 07:02