码迷,mamicode.com
首页 > 编程语言 > 详细

javabean转换为map对象

时间:2019-04-15 17:56:01      阅读:195      评论:0      收藏:0      [点我收藏+]

标签:stat   error   tst   esc   tac   equals   直接   hashmap   obj   

在调用第三方接口发现对方使用map进行接收(不包括秘钥等),将bean类属性转换为map,直接贴代码:

/**
* JavaBean对象转化成Map对象
*
* @param javaBean
*/
public static Map java2Map(Object javaBean) {
Map map = new HashMap(16);

try {
// 获取javaBean属性
BeanInfo beanInfo = Introspector.getBeanInfo(javaBean.getClass());

PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
if (propertyDescriptors != null && propertyDescriptors.length > 0) {
String propertyName = null; // javaBean属性名
Object propertyValue = null; // javaBean属性值
for (PropertyDescriptor pd : propertyDescriptors) {
propertyName = pd.getName();
if (!propertyName.equals("class")) {
Method readMethod = pd.getReadMethod();
propertyValue = readMethod.invoke(javaBean, new Object[0]);
map.put(propertyName, propertyValue);
}
}
}
} catch (Exception e) {
logger.error("javaBean转换map失败!",e);
//注意:日志最好不要使用 e.printStackTrace();如果打印日志过多,会引起死锁.
    }
return map;
}

javabean转换为map对象

标签:stat   error   tst   esc   tac   equals   直接   hashmap   obj   

原文地址:https://www.cnblogs.com/xinchengv5/p/10711879.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!