Java examples for Reflection:Java Bean
change a Java Bean to a Map
//package com.java2s; import java.beans.BeanInfo; import java.beans.IntrospectionException; import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] argv) throws Exception { Object bean = "java2s.com"; System.out.println(convertBean(bean)); }/*from w w w .ja v a 2s.c o m*/ /** * change a JavaBean to a Map * */ public static Map<String, String> convertBean(Object bean) throws IntrospectionException, IllegalAccessException, InvocationTargetException { Class type = bean.getClass(); Map returnMap = new HashMap(); BeanInfo beanInfo = Introspector.getBeanInfo(type); PropertyDescriptor[] propertyDescriptors = beanInfo .getPropertyDescriptors(); for (int i = 0; i < propertyDescriptors.length; i++) { PropertyDescriptor descriptor = propertyDescriptors[i]; String propertyName = descriptor.getName(); if (!propertyName.equals("class")) { Method readMethod = descriptor.getReadMethod(); if (readMethod == null) { continue; } Object result = readMethod.invoke(bean, new Object[0]); if (result != null) { returnMap.put(propertyName, String.valueOf(result)); } else { returnMap.put(propertyName, ""); } } } return returnMap; } }