黑馬程式設計師____陣列複製
阿新 • • 發佈:2019-01-09
----------------------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培訓、期待與您交流!
----------------------