天天看點

Java中有關clone方法的用法

一、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()方法,将數組複制一份

Java中有關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

為什麼呢,原因如下

Java中有關clone方法的用法