java object转成Map

Laughing
2021-11-13 / 0 评论 / 1,076 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年11月13日,已超过1198天没有更新,若内容或图片失效,请留言反馈。
 /**
     * object转成Map
     *
     * @param obj 对象
     * @return Map
     */
    private Map<String, Object> obj2Map(Object obj) {
        Map<String, Object> map = new HashMap<>();
        // System.out.println(obj.getClass());
        // 获取f对象对应类中的所有属性域
        Field[] fields = obj.getClass().getDeclaredFields();
        for (Field field : fields) {
            String varName = field.getName();
            varName = varName.toUpperCase();//将key置为小写,默认为对象的属性
            try {
                // 获取原来的访问控制权限
                boolean accessFlag = field.isAccessible();
                // 修改访问控制权限
                field.setAccessible(true);
                // 获取在对象f中属性fields[i]对应的对象中的变量
                Object o = field.get(obj);
                if (o != null)
                    map.put(varName, o.toString());
                // System.out.println("传入的对象中包含一个如下的变量:" + varName + " = " + o);
                // 恢复访问控制权限
                field.setAccessible(accessFlag);
            } catch (IllegalArgumentException | IllegalAccessException ex) {
                ex.printStackTrace();
            }
        }
        return map;
    }
0

评论 (0)

取消