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; }
版权声明
本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。