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<a.length;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(); } }
