http://blog.csdn.net/hpb21/article/details/7905378
/**
* 对象转换为map
*
* @param obj
* 对象
* @return map
*/
public static Map<String, Object> ObjToMap(Object obj) {
Map<String, Object> map = new HashMap<String, Object>();
if (null == obj) {
return map;
}
Field[] fields = obj.getClass().getDeclaredFields();
if (null == fields || 0 == fields.length) {
return map;
}
for (Field field : fields) {
String varName = field.getName();
try {
// 获取原来的访问控制权限
boolean accessFlag = field.isAccessible();
// 修改访问控制权限
field.setAccessible(true);
// 获取在对象f中属性fields[i]对应的对象中的变量
Object o = field.get(obj);
if (o != null)
map.put(varName, o.toString());
// System.out.println("传入的对象中包含一个如下的变量:" + varName + " = " + o);
// 恢复访问控制权限
field.setAccessible(accessFlag);
} catch (IllegalArgumentException ex) {
ex.printStackTrace();
} catch (IllegalAccessException ex) {
ex.printStackTrace();
}
}
return map;
}