java中物件拷貝的幾種方式

2021-09-02 08:19:20 字數 629 閱讀 8439

示例物件

@data

public class user implements cloneable,serializable catch (clonenotsupportedexception e)

return (user)clone;

}}

分析:使用clone()方法進行拷貝,這種方法的優點是可以直接使用父介面的clone()方法直接拷貝乙個物件,同時能夠拷貝基本資料型別,但是引用資料型別不能拷貝,原物件和拷貝物件的引用屬性是同乙個屬性,這種拷貝也就是常說的淺拷貝,測試如下

@test

public void testnewinstance() throws illegalacces***ception, instantiationexception

分析:能夠完整的拷貝物件,包括引用型別屬性,但是需要自己寫序列化過程,測試如下

@test

public void testserializable() throws exception

注意:為什麼要寫入serialversionuid,主要是用於反序列化,如果沒有唯一的uid,一旦原類結構發生了改變,則無法進行反序列化

Java 建立物件的幾種方式

user user new user 建立方法1 user user user class.forname 根路徑.user newinstance 建立方法2 用這個最好 user user user.class newinstance constructor constructor user.c...

Mat操作中的幾種拷貝方式

mat是乙個具有兩個資料部分的類 矩陣頭和指向包含畫素值的矩陣的指標 mat image 方式一 image1的建立,只建立了頭部,與原來的image共享資料域部分 mat image1 image 方式二 image2完全拷貝image的所有資訊 mat image2 image.clone 方式...

Java物件拷貝

public class person implements serializable public person string name,int age,gregoriancalendar birthday public string getname public void setname str...