java工具类-bean转map


import org.springframework.cglib.beans.BeanMap;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * bean和map互转
 *
 * @version 1.0
 * @date 2022/5/5 13:45
 * @since : JDK 11
 */
public class BeanMapTool {

    public static  Map beanToMap(T bean) {
        BeanMap beanMap = BeanMap.create(bean);
        Map map = new HashMap<>();

        beanMap.forEach((key, value) -> {
            map.put(String.valueOf(key), value);
        });
        return map;
    }

    public static  T mapToBean(Map map, Class clazz)
            throws IllegalAccessException, InstantiationException {
        T bean = clazz.newInstance();
        BeanMap beanMap = BeanMap.create(bean);
        beanMap.putAll(map);
        return bean;
    }

    public static  List> objectsToMaps(List objList) {
        List> list = new ArrayList<>();
        if (objList != null && objList.size() > 0) {
            Map 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  List mapsToObjects(List> maps, Class clazz)
            throws InstantiationException, IllegalAccessException {
        List list = new ArrayList<>();
        if (maps != null && maps.size() > 0) {
            Map 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;
    }
}