(转)Object转Map键值对

原文地址: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;
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,143评论 25 709
  • 在此特此声明:一下所有链接均来自互联网,在此记录下我的查阅学习历程,感谢各位原创作者的无私奉献 ! 技术一点一点积...
    远航的移动开发历程阅读 11,349评论 12 197
  • 昨晚跨年,睡前却在想这点事儿~今天动手,手脑相连,手画&脑思!恍然大悟~~你能看出什么吗?对我来说,是又一突破!图...
    玉与君生阅读 122评论 0 0
  • 词:唐映枫 曲:陈鸿宇 臂弯做衣架 摇晃在庭前 腰杆做长椅 你轻靠 或躺下看书 耳朵做一串项链 被你锁进铁盒子...
    陸離luly阅读 574评论 2 5
  • 他发一个吐血的表情,说没事...... 我亦有些莫名其妙,想问因果又觉得无此必要,就闲扯一般和他聊聊各自的现状。 ...
    小瓶盖shy阅读 293评论 1 1