国瑞前端
立即登录 马上注册
当前位置: Java > Java实体类转换工具类分享
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
package com.example.huanggr_test.utils;

import org.springframework.beans.BeanUtils;
import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * 复制工具类
 */

public class CopyUtil {

    /**
     * 单体复制
     */

    public static <T> T copy(Object source, Class<T> clazz) {
        if (source == null) {
            return null;
        }
        T obj = null;
        try {
            obj = clazz.newInstance();
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
        BeanUtils.copyProperties(source, obj);
        return obj;
    }

    /**
     * 列表复制
     */

    public static <T> List<T> copyList(List source, Class<T> clazz) {
        List<T> target = new ArrayList<>();
        if (!CollectionUtils.isEmpty(source)){
            for (Object c: source) {
                T obj = copy(c, clazz);
                target.add(obj);
            }
        }
        return target;
    }
}

代码使用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
@GetMapping("copy")
public String test2(){
    List<UserDTO> userDTO = new ArrayList<>();
    UserDTO user = new UserDTO();
    user.setId(1);
    user.setName("名称");
    user.setAge(20);
    userDTO.add(user);
    List<UserV0> userV0s = CopyUtil.copyList(userDTO, UserV0.class);
    for(UserV0 userV0:userV0s){
        System.out.println(userV0.toString());
    }
    return userV0s.toString();
}

「梦想一旦被付诸行动,就会变得神圣,如果觉得我的文章对您有用,请帮助本站成长」

赞(0) 打赏

支付宝扫一扫打赏

微信扫一扫打赏

标签:

上一篇:

下一篇:

相关推荐

0 条评论关于"Java实体类转换工具类分享"

最新评论

    暂无留言哦~~

博客简介

国瑞个人博客: https://www.huanggr.cn/,我们关注Web前端开发技术,web前端开发,移动前端开发,前端资讯,同时分享前端资源和工具等,期待你的参与,了解更多..

博主独立研发主题:

  • 微信小程序

    欢迎扫码关注微信小程序

    免费领取学习资料和视频

广告

广告

广告

精彩评论

广告

站点统计

  • 文章总数: 343 篇
  • 草稿数目: 90 篇
  • 分类数目: 32 个
  • 独立页面: 5 个
  • 评论总数: 173 条
  • 链接总数: 10 个
  • 标签总数: 117 个
  • 注册用户: 153 人
  • 访问总量: 8,910,194 次
  • 最近更新: 2022年5月20日