制作阵列的副本
我有一个不断更新的数组。比方说.我需要制作一个完全相同的副本并称之为.如果要更改为 ,应仍为 。最好的方法是什么?我尝试了一个循环,如:a
a = [1,2,3,4,5]
a
b
a
[6,7,8,9,10]
b
[1,2,3,4,5]
for
for(int i=0; i<5; i++) {
b[i]=a[i];
}
但这似乎不能正常工作。请不要使用高级术语,如深度复制等,因为我不知道这意味着什么。
我有一个不断更新的数组。比方说.我需要制作一个完全相同的副本并称之为.如果要更改为 ,应仍为 。最好的方法是什么?我尝试了一个循环,如:a
a = [1,2,3,4,5]
a
b
a
[6,7,8,9,10]
b
[1,2,3,4,5]
for
for(int i=0; i<5; i++) {
b[i]=a[i];
}
但这似乎不能正常工作。请不要使用高级术语,如深度复制等,因为我不知道这意味着什么。
你可以尝试使用 System.arraycopy()
int[] src = new int[]{1,2,3,4,5};
int[] dest = new int[5];
System.arraycopy( src, 0, dest, 0, src.length );
但是,在大多数情况下,最好使用 clone():
int[] src = ...
int[] dest = src.clone();
您可以使用
int[] a = new int[]{1,2,3,4,5};
int[] b = a.clone();
也。