public class ArrayCopy{
public static void main(String []args){
int []a = {1,3,4,5};
toPrint(a);
int []aFor=new int[a.length];
//1.for循环复制
System.out.println("===========1.使用for复制");
for(int i=0;i
aFor[i]=a[i];
}
aFor[2]=10;//改变aFor中的值原数组中的值不变
System.out.print("数组a:");
toPrint(a);
System.out.print("数组aFor:");
toPrint(aFor);
//**2.使用System.arraycopy(src,srcpos,dest,destpos,length);
System.out.println("===========2.使用System.arraycopy复制\n把aFor复制给a:");
System.arraycopy(aFor,0,a,0,a.length);
aFor[1]=9;//改变aFor中值
toPrint(a);
toPrint(aFor);
//3.使用clone复制
System.out.println("===========3.使用clone把aFor的值复制给a");
a=(int[])aFor.clone();
aFor[0]=8;
toPrint(a);
toPrint(aFor);
//4.使用Arrays类的copyOf和copyOfRange实现对数组复制
System.out.println("===========4.使用Arrays.copyOf/把aFor的值复制给a");
a=java.util.Arrays.copyOf(aFor,aFor.length+1);
aFor[3]=11;
toPrint(a);
toPrint(aFor);
}
static void toPrint(int[] a){
for(int aa:a){
System.out.print(" "+aa);
}
System.out.println();
}
}