java中如何实现一个map和Bean之间互相转换呢?
下文笔者将讲述使用java代码实现map和bean的相互转换的方法分享,如下所示
例
map 转换为 bean
例
map 转换为 bean
//map转换为Bean
public static <T> T mapTobean(Map<String,Object> beanMap, Class<T> beanType) throws Exception {
T obj = beanType.newInstance();
BeanInfo beanInfo = Introspector.getBeanInfo(beanType, Object.class);
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();
for (PropertyDescriptor pd : pds) {
String propertyName = pd.getName();//属性名
Object propertyValue = beanMap.get(propertyName);//属性值
pd.getWriteMethod().invoke(obj,propertyValue);
}
return obj;
}
bean转换为map
//Bean转换为Map
public static Map<String,Object> beanToMap(Object bean) throws Exception {
Map<String,Object> map = new HashMap<String, Object>();
BeanInfo beanInfo = Introspector.getBeanInfo(bean.getClass(),Object.class);
//获取Bean中属性名和属性值
PropertyDescriptor[] pds = beanInfo.getPropertyDescriptors();//获取属性描述对象数组
for (PropertyDescriptor pd : pds) {
String propertyName = pd.getName();//属性名
Object propertyValue = pd.getReadMethod().invoke(bean);//调用该属性的get方法
map.put(propertyName, propertyValue);
}
return map;
}
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。


