以前一直没留意,原来JAVA数组的复制是引用传递,而并不是其他语言的值传递。
看下面这个例子:
public class TestArray {
public static void PrintArray(int []array){
System.out.print('<>
for(int i=0;i<>
System.out.print(array[i]);
if((i+1)<>
System.out.print(',');
}
System.out.print('>');
System.out.println();
}
public static void main(String []args){
int []array1={2,3,5,7,11,13,17,19};
int []array2=new int[array1.length];
//System.arraycopy(array1, 0, array2, 0, array1.length);
array2=array1;
for(int i=0;i<>
array2[i]=i;
}
System.out.print('Arrar1');
PrintArray(array1);
System.out.print('Array2');
PrintArray(array2);
看下面这个例子:
public class TestArray {
public static void PrintArray(int []array){
System.out.print('<>
for(int i=0;i<>
System.out.print(array[i]);
if((i+1)<>
System.out.print(',');
}
System.out.print('>');
System.out.println();
}
public static void main(String []args){
int []array1={2,3,5,7,11,13,17,19};
int []array2=new int[array1.length];
//System.arraycopy(array1, 0, array2, 0, array1.length);
array2=array1;
for(int i=0;i<>
array2[i]=i;
}
System.out.print('Arrar1');
PrintArray(array1);
System.out.print('Array2');
PrintArray(array2);