有以下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);
}
}