java數組名之間的複製

有以下4種方法:
(1)可以使用循環完成數組間的複製;

(2)使用 Object 的 clone 方法,在數組中覆蓋了 object 的 clone 方法,該方法的作用是得到數組對象的一個副本。

(3)使用 System 類中的靜態方法 arraycopy,arraycopy 的語法如下:

arraycopy(sourceArray,srcpos,targetArray,tarpos,length);

sourceArray 爲被拷貝的數組;
srcpos 爲起始位置,第一個元素爲 0;
targetArray 爲目標數組;
tarpos 爲複製到目標數組的起始位置;
length 爲複製的長度。

(4)一個簡單的賦值語句並不能完成數組複製工作,在 Java 中,可以使用賦值語句複製基本類型的變量卻不能複製對象,如數組。將一個對象賦值給另一個對象,只會使兩個對象指向相同的內存地址。

實例:

public class Demo13_2 {
	public void output(String arrayName, int temp[]) {
		int i;
		for(i = 0; i < temp.length; i++){
			System.out.println(arrayName + "[" + i +"] = " + temp[i]);
		}
	}
	
	public static void main(String[] args){
		int source[]={1,2};
		int i;
		String arrayName;
		Demo13_2 a = new Demo13_2();//實例化a
		
		//使用循環複製數組
		int dest1[] = new int[2];
		for(i = 0; i < source.length; i++){
			dest1[i] = source[i];
		}
		arrayName = "dest1";
		a.output(arrayName, dest1);
		
		//使用clone方法
		int dest2[]=(int[])source.clone();
		arrayName = "dest2";
		a.output(arrayName, dest2);
		
		//使用System類中的靜態方法arraycopy
		int dest3[] = new int[2];
		System.arraycopy(source, 0, dest3, 0, 2);
		arrayName = "dest3";
		a.output(arrayName, dest3);
		}
}

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章