国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

java中將一個實體類復(fù)制到另一個實體類的三種方法

這篇具有很好參考價值的文章主要介紹了java中將一個實體類復(fù)制到另一個實體類的三種方法。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

這兩天在做發(fā)票識別時,遇到一個問題,有一張發(fā)票表(假設(shè)為invoice_OCR_success)和一張我根據(jù)發(fā)票表新建的表(假設(shè)為invoice_OCR_fail),兩張表有些字段名是相同的,有時需要把其中一張表的實例在另一張表里保存一份,此時就用到了實體類的復(fù)制,以下我將列出三種嘗試的方法。

方式一:通過轉(zhuǎn)換為JSONObject

InvoiceOCRSuccess kkjfInvoice1 = new InvoiceOCRSuccess();

JSONObject kkjfInvoiceOcrFail1 = JSONObject.parseObject(JSONObject.toJSONString(InvoiceOCRFail));
JSONObject kkjfInvoice2 = JSONObject.parseObject(JSONObject.toJSONString(kkjfInvoice1));
for (String key:kkjfInvoiceOcrFail1.keySet()){
    if (kkjfInvoice2.containsKey(key)){
        kkjfInvoice2.put(key,kkjfInvoiceOcrFail1.getString(key));
    }
}
InvoiceOCRSuccesskkjfInvoice3 = JSONObject.toJavaObject(kkjfInvoice2, InvoiceOCRSuccess.class);

此時kkjfInvoiceOcrFail1 中有數(shù)據(jù),新建一個kkjfInvoice1 ,想將kkjfInvoiceOcrFail1 中重復(fù)的字段存入kkjfInvoice1 。但這個方法不會生效,因為這里new的對象是個空對象,它在轉(zhuǎn)為JSONObject 時變?yōu)榱丝?/strong>,for循環(huán)賦值那一步并沒有賦值成功,大家根據(jù)實際情況改造一下就好了。

方式二:通過Map方式賦值

BeanMap beanMap = BeanMap.create(InvoiceOCRSuccess);
BeanMap beanMap1 = BeanMap.create(InvoiceOCRFail);
Map<String,Object> map = new HashMap<>();
for (Object key:beanMap.keySet()){
    String key1 = (String) key;
    if (beanMap1.containsKey(key)){
        map.put(key1,beanMap1.get(key));
    }
}
JSONObject jsonObject1 = new JSONObject();
jsonObject1.putAll(map);
InvoiceOCRSuccess kkjfInvoice2 = jsonObject1.toJavaObject(InvoiceOCRSuccess.class);

這個BeanMap是org.springframework.cglib.beans包下的類,用于將實例轉(zhuǎn)為map形式。用這種方法是要注意,這個BeanMap中自帶的put方法是不起作用的,具體原因有興趣可以自行查閱,找到了可以讓我也看看,new HashMap<>()的目的就是為了解決這個問題。

方式三:BeanUtils.copyProperties( @NotNull Object source,@NotNull Object target) 強烈推薦?。。?/h3>

該方法是spring項目BeanUtils工具自帶的方法,非常的好用。第一個參數(shù)是你的源數(shù)據(jù),第二個參數(shù)是你要復(fù)制的目標對象,然后就復(fù)制成功了,nice!文章來源地址http://www.zghlxwxcb.cn/news/detail-540881.html

到了這里,關(guān)于java中將一個實體類復(fù)制到另一個實體類的三種方法的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔相關(guān)法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • Java獲取指定文件夾下目錄下所有視頻并復(fù)制到另一個地方
  • java中把一個list轉(zhuǎn)tree的三種方法——工具類

    如何使用: 如果你的類中主鍵名稱為id,父節(jié)點id名稱為parentId,子節(jié)點列表名稱為children,數(shù)據(jù)庫中頂層父節(jié)點id值為“0”,可以直接調(diào)用只需傳入需要轉(zhuǎn)換list的方法。否則需要傳入相應(yīng)的字段名稱,或者修改代碼。 三種方式對比 前兩種方法的時間復(fù)雜度都和葉子節(jié)點的個

    2024年01月24日
    瀏覽(20)
  • linux怎么復(fù)制文件到另一個文件夾

    1、linux怎么復(fù)制文件到另一個文件夾 2、Linux怎么復(fù)制文件進入文件系統(tǒng)中? 3、在Linux系統(tǒng)中,要將文件復(fù)制到另一個目錄中,為防止意外覆蓋相同文件名... 4、linux下怎樣復(fù)制文件并且重命名文件? 可以使用cp命令來實現(xiàn)文件復(fù)制。例如,如果要將文件filetxt復(fù)制到文件夾folder2中,

    2024年02月10日
    瀏覽(21)
  • 從一個服務(wù)器復(fù)制東西到另一個服務(wù)器的命令

    您可以使用scp命令從一個服務(wù)器復(fù)制文件或目錄到另一個服務(wù)器。以下是基本的scp命令格式: 其中,source是要復(fù)制的文件或目錄的路徑,destination是復(fù)制的目標路徑,可以是本地路徑或遠程服務(wù)器路徑。如果destination是遠程服務(wù)器路徑,則需要在路徑前加上用戶名和服務(wù)器地

    2024年02月14日
    瀏覽(22)
  • 將一個 PostgreSQL 數(shù)據(jù)庫復(fù)制到另一個數(shù)據(jù)庫中

    將一個 PostgreSQL 數(shù)據(jù)庫復(fù)制到另一個數(shù)據(jù)庫中

    以管理員身份進入cmd窗口,輸入如下命令 語法: 示例:

    2024年02月22日
    瀏覽(23)
  • SpringBoot—@ComponentScan注解過濾排除不加載某個類的三種方法

    在引用jar包的依賴同時,經(jīng)常遇到有包引用沖突問題。一般我們的做法是在Pom文件中的dependency節(jié)點下添加exclusions配置,排除特定的包。 這樣按照包做的排除范圍是比較大的,現(xiàn)在我們想只排除掉某個特定的類,這時我們怎么操作呢? 方法一:pom中配置排除特定包 缺點:排

    2024年02月15日
    瀏覽(21)
  • 從一個word里面復(fù)制表格到另一個word時,表格變形的問題

    從一個word里面復(fù)制表格到另一個word時,表格變形的問題

    復(fù)制過來保留源格式,檢查段落、頁邊距里面的格式都和原始word一致后,仍然表格變形。 這時點頁邊距-自定義頁邊距-文檔網(wǎng)格 看字符數(shù)是不是一致的

    2024年03月10日
    瀏覽(26)
  • 將一個服務(wù)器上的文件復(fù)制到另一個服務(wù)器中的容器里

    步驟: 將A服務(wù)器上的文件復(fù)制到B服務(wù)器上 將B服務(wù)器上的文件復(fù)制到指定容器中 (將本地文件復(fù)制到服務(wù)器上同理) 使用scp命令 1. 復(fù)制文件 命令格式: scp local_file remote_username@remote_ip:remote_folder 2. 復(fù)制目錄 命令格式: scp -r local_folder remote_username@remote_ip:remote_folder 注意 :

    2024年02月07日
    瀏覽(22)
  • 數(shù)據(jù)庫中的字段名與實體類中的屬性名不能一一對應(yīng)時的三種處理方式

    數(shù)據(jù)庫中的字段名與實體類中的屬性名不能一一對應(yīng)時的三種處理方式

    當查詢結(jié)果的列名和java對象的屬性名對應(yīng)不上時需要采用下列方式進行處理: ????????第一種方式:在查詢語句中使用\\\"as\\\" 給列起別名 ????????第二種方式:使用resultMap結(jié)果映射 ????????第三種方式:開啟駝峰命名自動映射(配置settings) 實體類Car: packa

    2024年02月09日
    瀏覽(20)
  • Java---使用lombok簡化實體類的編寫----不要再寫getter+sertter方法了

    目錄 使用lombok簡化實體類的編寫 首先: 加入lombok依賴: 然后 加上一個注解:@Data? ? 刪除原來實體類中的方法 加上一個注解:@Data? ? 注意:@Data(包含了:@Setter @Getter @ToString @EqualsAndHashCode)但是 不包含構(gòu)造方法的注解可以手動加上: @NoArgsConstructor @AllArgsConstructor

    2024年02月14日
    瀏覽(32)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包