天天看點

java-Cloneable克隆對象内容

有時候需要實體中的字段内容全部複制到一個新的實體中,

BoardTest  old = New BoardTest();

BoardTest  new = old;

但是當 new = old 時,兩個對象是同一位址,達不到複制的目的。

可以通過克隆的方式,完成不同對象的内容複制。

一個對象直接克隆為另一個對象時,會生成新的位址。

1、實體實作Cloneable

public class BoardTest  implements Cloneable{

}

2、實體中重寫clone方法

@Override

public Object clone() {

  BoardTest   b = null;

    try{

        b = (BoardTest)super.clone();

    }catch(CloneNotSupportedException e) {

        e.printStackTrace();

    }

    return b;

}

3、調用:

BoardTest new= (BoardTest)old.clone() ;

克隆了old中的所有内容,并new一個新對象。