在最近做项目的时候,使用到了对象copy,而只需要拷贝源对象的非空属性,为null的属性不进行吧copy。

BeanUtil.copyProperties(sourceObject,targetObject);

查了资料,解决方法如下:

1 、hutool开源库为我们提供了更为强大的Bean工具-BeanUtil

引入依赖

<dependency>
    <groupId>cn.hutool</groupId>
    <artifactId>hutool-all</artifactId>
    <version>4.1.14</version>
</dependency>
//复制旧的属性过来,忽略null属性,忽略null值,有值的以新的为主,null的则以旧为主
BeanUtil.copyProperties(sourceObject, targetObject,
        true, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐