一、clone在數組基本資料類型中的使用
public class Main {
public static void main(String[] args) {
int[] arr= {7,8,9};
int[] cloneArr=(int[])arr.clone();
arr[2]=777;
cloneArr[2]=888;
System.out.println(arr[2]);
System.out.println(cloneArr[2]);
}
}
運作結過顯而易見
777
888
第一步先建立一個一維數組,然後調用clone()方法,将數組複制一份
是以改變arr[2]的資料,然後再改變cloneArr[2]的資料,兩者有所不同。
二、clone在數組非基本資料類型中的使用
package main;
import main.forClone.*;
public class Main {
public static void main(String[] args) {
TestClone[] arr=new TestClone[2]; //建立一個TestClone的一維數組
arr[1]=new TestClone(); //建立執行個體
TestClone[] cloneArr=(TestClone[])arr.clone(); //克隆出一個新的一維數組
arr[1].value=777; //指派
cloneArr[1].value=999; //指派
System.out.println(arr[1].value);
System.out.println(cloneArr[1].value);
}
}
package main.forClone;
public class TestClone {
public int value=8;
}
結果如下
999
999
為什麼呢,原因如下