有時候需要實體中的字段内容全部複制到一個新的實體中,
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一個新對象。