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,但希望保留其原始值,以便日后可以使用它,并且我收到的提示是使用深度复制。我不知道我的代码是否被认为是深拷贝...这是一个深拷贝的例子吗?
这是一个浅拷贝,但由于您使用的是基元而不是对象,所以您只需要浅拷贝(没有实际差异)。 –
是的,如果它能编译,b和c都是a的深拷贝。添加几个分号让它编译。 –
@RudyVelthuis'b = c = a;' –