这会是深拷贝的一个例子吗?

would this be an example of deep copy?

int[] a = new int[10];
for (int i = 0; i < 10; i++) {
    a[i] = randomFill();//randomFill is a method that generates random numbers
}

int[] b = new int[a.length];
for (int j = 0; j < a.length; j++) {
    b[j] = a[j]
}

int[] c = new int[a.length];
for(int k = 0; k < a.length; k++) {
    c[k] = a[k]
}

数组b和数组c都是数组a的深拷贝吗? 我需要修改数组 a 但想保留其原始值以便以后使用它,我收到的提示是使用深层复制。我不知道我的代码是否被认为是深拷贝 ...

aint(s) 的数组,它们只有一个原始值——所以答案是肯定的。修改 b(或 c)不会影响 a。但是,您可以像

这样使用 Arrays.copyOf(int[], int)
int[] b = Arrays.copyOf(a, a.length);
int[] c = Arrays.copyOf(a, a.length);

Deep copy 术语不能应用于复制普通整数数组。这是关于更复杂的数据结构,例如也可以包含嵌套 objects/collections.

的对象集合