侧边栏壁纸
博主头像
笑凡尘

让人非我弱,得志莫离群

  • 累计撰写 67 篇文章
  • 累计创建 75 个标签
  • 累计收到 2 条评论
隐藏侧边栏

Bean对象转换为Map

笑凡尘
2021-09-30 / 1 评论 / 0 点赞 / 39 阅读 / 649 字
温馨提示:
本文最后更新于2021-09-30,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。
public static <T> Map<String, Object> beanToMap(T bean) {
    Map<String, Object> map = new HashMap<>();
    Method[] methods = bean.getClass().getMethods();
    try {
        for (Method method : methods) {

            String methodName = method.getName();
            //反射获取属性与属性值的方法很多,以下是其一;也可以直接获得属性,不过获取的时候需要用过设置属性私有可见
            if (methodName.contains("get")) {
                //invoke,执行get方法获取属性值
                Object value = method.invoke(bean);
                //根据setXXXX,通过以下算法取得属性名称
                String key = methodName.substring(methodName.indexOf("get") + 3);
                Object temp = key.substring(0, 1).toString().toLowerCase();
                key = key.substring(1);
                //最终得到属性名称
                key = temp + key;
                map.put(key, value);
            }
        }
    } catch (Exception e) {
        log.error("对象转换map发生错误", e);
    }
    return map;
}
0

评论