前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >BeanUtils.copyProperties工具类

BeanUtils.copyProperties工具类

作者头像
乐心湖
发布2021-01-18 15:01:01
1.2K0
发布2021-01-18 15:01:01
举报
文章被收录于专栏:MyTechnology

需求:将 List 集合拷贝到另一个 Bean 集合。

Spring 自带的 BeanUtils 不可以直接拷贝集合,所以自己封装了一个工具类,注意:并没有从本质上解决该问题。

代码语言:javascript
复制
@Slf4j
public class BeanUtils {

    /**
     * 单个类转换
     *
     * @param sourceObj
     * @param targetClass
     * @param <T>
     * @return
     */
    public static <T> T conver(Object sourceObj, Class<T> targetClass) {
        T targetObj = null;
        try {
            targetObj = targetClass.newInstance();
        } catch (InstantiationException e) {
            log.error("sourceObj:{},targetClass:{},InstantiationException errMsg:{}", sourceObj, targetClass, e);
        } catch (IllegalAccessException e) {
            log.error("sourceObj:{},targetClass:{},IllegalAccessException errMsg:{}", sourceObj, targetClass, e);
        }
        BeanUtils.copyProperties(sourceObj, targetObj);
        return targetObj;
    }

    /**
     * List之间转换
     *
     * @param sourceList
     * @param targetClass
     * @param <T>
     * @return
     */
    public static <T> List<T> converList(List<?> sourceList, Class<T> targetClass) {
        if (CollectionUtils.isEmpty(sourceList) || targetClass == null) {
            return Collections.emptyList();
        }
        return sourceList.stream().map(sourceObj -> conver(sourceObj, targetClass)).collect(Collectors.toList());
    }
}

使用方法:

代码语言:javascript
复制
List<SasStudent> studentList = iSasStudentService.list(queryWrapper);
List<ClassStudentList> classStudentList = BeanUtils.converList(studentList, ClassStudentList.class);

参考资料:https://blog.csdn.net/weixin_44722978/article/details/106276248


版权属于:乐心湖's Blog

本文链接:https://cloud.tencent.com/developer/article/1774963

声明:博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档