hutool的BeanUtil.copyProperties只拷贝对象非null属性

1.引入依赖

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>xxxx</version>
</dependency>

2、使用

将survey中的属性赋值到surveyListVO中(二者都有的属性才会赋值过来),且如果survey中相同属性但是属性的值为null则不会赋值过来。

        List<OkbICFaSurvey> list = okbICFaSurveyMapper.list();
        return list.stream().map(survey -> {
            OkbICFaSurveyListVO surveyListVO = new OkbICFaSurveyListVO();
            BeanUtil.copyProperties(survey, surveyListVO, copyOption);
            return surveyListVO;
        }).collect(Collectors.toList());

可使用stream做处理,将

List<OkbICFaSurvey> 转换为 List<OkbICFaSurveyListVO>。

其中copyOption就是定义规则,创建一个CopyOptions对象。

//null,表示无限制,true表示若父类中属性值为空则忽略,不传给子类
private final CopyOptions copyOption = CopyOptions.create(null, true);

editable 限制的类或接口,必须为目标对象的实现接口或父类,用于限制拷贝的属性,例如一个类我只想复制其父类的一些属性,就可以将editable设置为父类。
ignoreNullValue 是否忽略空值,当源对象的值为null时,true: 忽略而不注入此值,false: 注入null
ignoreProperties 忽略的属性列表,设置一个属性列表,不拷贝这些属性值
ignoreError 是否忽略字段注入错误
可以通过CopyOptions.create()方法创建一个默认的配置项,通过setXXX方法设置每个配置项
 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值