• beanToMap,mapToBean互转


    package com.iworkh.test.restassured.utils;
    
    import org.springframework.cglib.beans.BeanMap;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    /**
     * bean和map互转
     *
     * @author: iworkh-沐雨云楼
     * @date: 2020-06-18
     */
    public class BeanMapTool {
    
        public static <T> Map<String, ?> beanToMap(T bean) {
            BeanMap beanMap = BeanMap.create(bean);
            Map<String, Object> map = new HashMap<>();
    
            beanMap.forEach((key, value) -> {
                map.put(String.valueOf(key), value);
            });
            return map;
        }
    
        public static <T> T mapToBean(Map<String, ?> map, Class<T> clazz)
                throws IllegalAccessException, InstantiationException {
            T bean = clazz.newInstance();
            BeanMap beanMap = BeanMap.create(bean);
            beanMap.putAll(map);
            return bean;
        }
    
        public static <T> List<Map<String, ?>> objectsToMaps(List<T> objList) {
            List<Map<String, ?>> list = new ArrayList<>();
            if (objList != null && objList.size() > 0) {
                Map<String, ?> map = null;
                T bean = null;
                for (int i = 0, size = objList.size(); i < size; i++) {
                    bean = objList.get(i);
                    map = beanToMap(bean);
                    list.add(map);
                }
            }
            return list;
        }
    
        public static <T> List<T> mapsToObjects(List<Map<String, ?>> maps, Class<T> clazz)
                throws InstantiationException, IllegalAccessException {
            List<T> list = new ArrayList<>();
            if (maps != null && maps.size() > 0) {
                Map<String, ?> map = null;
                for (int i = 0, size = maps.size(); i < size; i++) {
                    map = maps.get(i);
                    T bean = mapToBean(map, clazz);
                    list.add(bean);
                }
            }
            return list;
        }
    }
  • 相关阅读:
    linux学习(一)
    Linux学习(用户管理)
    anyproxy mac安装
    python mitmproxy 代理
    Js常用方法map, sort
    echarts常用配置项【持续更新】
    【转】moment js 使用
    js Cannot assign to read only property 'exports' of object '#<Object>' at Modul,import 与module.exports混用问题
    a标签跳转referer漏洞
    element ui rate评分组建使用
  • 原文地址:https://www.cnblogs.com/xiaoliu66007/p/15975999.html
Copyright © 2020-2023  润新知