將一個java對象的屬性值轉換為一個Map:
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
public Map<String, Object> transBean2Map(Object obj) { if(obj == null){ return null; } Map<String, Object> map = new HashMap<String, Object>(); try { BeanInfo beanInfo = Introspector.getBeanInfo(obj.getClass()); PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors(); for (PropertyDescriptor property : propertyDescriptors) { String key = property.getName(); // 過濾class屬性 if (!"class".equals(key)) { // 得到property對應的getter方法 Method getter = property.getReadMethod(); logger.info("獲取到的getter為------>{}",getter); Object value = getter.invoke(obj); logger.info("獲取到的key為----->{},value為----->{}",key,value); map.put(key, value); } } } catch (Exception e) { System.out.println("transBean2Map Error " + e); e.printStackTrace(); } return map; }