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;' –