美文网首页
(转)Object转Map键值对

(转)Object转Map键值对

作者: 曾经的追风少年 | 来源:发表于2018-07-19 09:29 被阅读0次
    原文地址:https://blog.csdn.net/f954618482/article/details/80704693

    感谢码友的分享!
    根据需要,略作了修改。
    上代码:

        private static Map<String, Object> obj2Map(Object obj) {
            Map<String, Object> map=new HashMap<String, Object>();
            Field[] fields=obj.getClass().getDeclaredFields(); // 获取对象对应类中的所有属性域
            for (int i = 0; i < fields.length; i++) {
                String varName = fields[i].getName();
                varName=varName.toUpperCase();///将key置为大写,默认为对象的属性
                boolean accessFlag=fields[i].isAccessible(); // 获取原来的访问控制权限
                fields[i].setAccessible(true);// 修改访问控制权限
                try {
                    Object object =fields[i].get(obj); // 获取在对象中属性fields[i]对应的对象中的变量
                    if (object!=null) {
                        map.put(varName, object);
                    }else {
                        map.put(varName, null);
                    }
                    fields[i].setAccessible(accessFlag);// 恢复访问控制权限
                } catch (IllegalArgumentException | IllegalAccessException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }
            return map;
        }
    

    相关文章

      网友评论

          本文标题:(转)Object转Map键值对

          本文链接:https://www.haomeiwen.com/subject/wouzpftx.html