国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

BeanUtils.copyProperties在拷貝屬性時忽略空值

李義 / 1423人閱讀

摘要:最近在寫一個小玩意的時候,需要在兩個對象之間拷貝屬性使用的是可是,有一個問題就是當對象的鍵值為時就會把對象的對應鍵值覆蓋成空了這不科學所以找了下面的這個方式來解決

最近在寫一個小玩意的時候,需要在兩個對象之間拷貝屬性

使用的是

BeanUtils.copyProperties

可是,有一個問題

就是當src對象的鍵值為Null時

就會把target對象的對應鍵值覆蓋成空了

這不科學

所以找了下面的這個方式來解決

    public static String[] getNullPropertyNames (Object source) {
        final BeanWrapper src = new BeanWrapperImpl(source);
        java.beans.PropertyDescriptor[] pds = src.getPropertyDescriptors();

        Set emptyNames = new HashSet();
        for(java.beans.PropertyDescriptor pd : pds) {
            Object srcValue = src.getPropertyValue(pd.getName());
            if (srcValue == null) emptyNames.add(pd.getName());
        }
        String[] result = new String[emptyNames.size()];
        return emptyNames.toArray(result);
    }

    public static void copyPropertiesIgnoreNull(Object src, Object target){
        BeanUtils.copyProperties(src, target, getNullPropertyNames(src));
    }

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/65304.html

相關文章

  • 為什么阿里代碼規約要求避免使用 Apache BeanUtils 進行屬性拷貝

    摘要:于是我建議這位小伙伴使用了進行屬性拷貝,這為我們的程序挖了一個坑阿里代碼規約當我們開啟阿里代碼掃描插件時,如果你使用了進行屬性拷貝,它會給你一個非常嚴重的警告。大名鼎鼎的提供的包,居然會存在性能問題,以致于阿里給出了嚴重的警告。 聲明:本文屬原創文章,始發于公號:程序員自學之道,并同步發布于 https://blog.csdn.net/dadiyang,特此,同步發布到 sf,轉載請注...

    raledong 評論0 收藏0
  • BeanUtils工具使用細節

    摘要:拷貝操作又一個非常好用的工具類和中分別存在一個,提供了對。除了支持基本類型以及基本類型的數組之外,還支持這些類的對象,其余一概不支持。而且,由于這些類都是采用反射機制實現的,對程序的效率也會有影響。因此,慎用或者使用看效果如何 java bean拷貝操作又一個非常好用的工具類 BeanUitls :spring (org.springframework.beans.BeanUtils)...

    afishhhhh 評論0 收藏0
  • Spring Boot 中 crud如何優雅的實現-附代碼

    摘要:以下內容基于如果你使用的也是相同的技術棧可以繼續往下閱讀,如果不是可以當作參考。編寫的四種方式裸寫最簡單最粗暴也是使用最多的一種方式,在寫的多了之后可以用生成工具生成。 導讀 在目前接觸過的項目中大多數的項目都會涉及到: crud相關的操作, 哪如何優雅的編寫crud操作呢?帶著這個問題,我們發現項目中大量的操作多是 創建實體 、刪除實例、 修改實體、 查詢單個實體、 分頁查詢多個實體...

    wing324 評論0 收藏0
  • Java BeanUtils對象復制工具類及方法

    1. BeanUtils.copyProperties(Object source, Object target) 用法: 講source的屬性值復制到target,屬性為null時也會進行復制。 需求:排除null值進行復制 public class CopyObjectUtil { public static String[] getNullPropertyNames(Object...

    Kerr1Gan 評論0 收藏0
  • 利用反射和注解,拷貝類型相同,屬性名不同的對象

    摘要:前言最近開發遇到一個問題,兩個對象進行屬性值拷貝。理論上來說可以直接借助來進行拷貝,奈何兩個對象屬性名不同,懵逼臉。 1、前言 最近開發遇到一個問題,兩個對象進行屬性值拷貝。理論上來說可以直接借助org.springframework.beans.BeanUtils.copyProperties(Object source, Object target)來進行拷貝,奈何兩個對象屬性名不...

    forrest23 評論0 收藏0

發表評論

0條評論

李義

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<