zoukankan      html  css  js  c++  java
  • 将实体Bean转换成Map工具类

    public class BeanUtil {
    
        private BeanUtil(){}
    
        public static Map<String, Object> convertToMap(Object obj) {
            return convertToMap(obj, false);
        }
    
        public static Map<String, Object> convertToMap(Object obj, boolean convertNull) {
            if(obj == null){
                return null;
            }
    
            Map<String, Object> map = new HashMap<>();
    
            Field[] declaredFields = obj.getClass().getDeclaredFields();
            for (Field field : declaredFields) {
                field.setAccessible(true);
                try {
                    Object o = field.get(obj);
                    if (Objects.nonNull(o)){
                        if (o instanceof Collection) {
                            if (((Collection)o).size()==0){
                                continue;
                            }
                        } else if (o instanceof Map) {
                            if (((Map) o).size() == 0) {
                                continue;
                            }
                        } else if (o instanceof Enum) {
                            o = ((Enum) o).name();
                        }
                        map.put(field.getName(), o);
                    }
                    else if(convertNull) {
                       map.put(field.getName(), null);
                    }
    
                } catch (IllegalAccessException e) {
                    e.printStackTrace();
                }
            }
    
            return map;
        }
    }
  • 相关阅读:
    0/1背包问题
    假如爱有天意(中文版)
    tomcat集群
    分布式锁
    centos7安装Harbor(转载)
    isEmpty和isBlank的区别
    单体应用架构和分布式架构的比较
    微服务鉴权
    mysql的时区设置
    RSA非对称加密算法
  • 原文地址:https://www.cnblogs.com/lc0605/p/11356138.html
Copyright © 2011-2022 走看看