Java中Bean与Map之间相互转换工具类
使用Java实现Bean与Map之间的相互转换
//Bean转换Map public static Map<String,Object> bean2MapObject(Object object){ if(object == null){ return null; } Map<String, Object> map = new HashMap<String, Object>(); try { BeanInfo beanInfo = Introspector.getBeanInfo(object.getClass()); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor property : propertyDescriptors) { String key = property.getName(); // 过滤class属性 if (!key.equals("class")) { // 得到属性对应的getter方法 Method getter = property.getReadMethod(); Object value = getter.invoke(object); map.put(key, value); } } } catch (Exception e) { e.printStackTrace(); } return map; } //Map转Bean public static Object map2Bean(Map map,Object object){ if(map == null || object == null){ return null; } try { BeanInfo beanInfo = Introspector.getBeanInfo(object.getClass()); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor property : propertyDescriptors) { String key = property.getName(); if (map.containsKey(key)) { Object value = map.get(key); // 得到属性对应的setter方法 Method setter = property.getWriteMethod(); setter.invoke(object, value); } } } catch (IntrospectionException e) { e.printStackTrace(); } catch (InvocationTargetException e) { e.printStackTrace(); } catch (IllegalAccessException e) { e.printStackTrace(); } return object; }