1. 程式人生 > >黑馬程式設計師____陣列複製

黑馬程式設計師____陣列複製

----------------------android培訓java培訓、期待與您交流! ----------------------

       陣列是一個物件,所以可以呼叫Object.clone()方法來對它進行復制,這一點可從例1中看出。

例1複製一個數組

public class Ex0202
{
	public static void main(String [] args)
	{
		int [] a = {22,44,66,88};
		print(a);
		int[] b = (int [])a.clone();//duplicate a[] in b[]
		print(b);
		String [] c ={"AB","CD","EF"};
		print(c);
		String [] d =(String[])c.clone();//duplicate c[] in d[]
		print(d);
		c[1] = "XYZ"; //change c[],but not d[]
		print(c);
		print(d);
	}
	public static void print(int [] a)
	{
		for(int i =0 ; i<a.length; i++)
			System.out.print(a[i] + " ");
		System.out.println();
	}
	public static void print(Object [] a)
	{
		for(int i =0; i<a.length; i++)
			System.out.print(a[i]+" ");
		System.out.println();
	}
}

       該程式的輸出結果為:


        在程式中,陣列a[ ]包含4個整型基元,而陣列b[ ]是陣列a[ ]的複製品,同樣,陣列d[ ]是陣列c[ ]的複製品,每個陣列均包含3個型別為String的成份。在這兩種情況下,複製均是由對方法clone()的呼叫來完成的。由於方法clone()的返回型別為Object,它必須強行轉換為複製的陣列的型別int[ ]String[ ]

該程式的其餘部分表明被複制的陣列d[ ]確是陣列c[ ]的一個單獨備份,當把C[1]改變為”XYZ”時,d[1]中的值仍是”CD ”

---------------------- android培訓

java培訓、期待與您交流! ----------------------