/**
* 将对象的所有字段解析到Map存储
*
* @param bean
*
* @return
*/
public static Map describeBean(Object bean) {
if (bean == null)
return new HashMap();
Map description = new HashMap();
Field[] declaredFields = bean.getClass().getDeclaredFields();
for (Field declaredField : declaredFields) {
declaredField.setAccessible(true);//使私有对象可访问
try {
description.put(declaredField.getName(), declaredField.get(bean));
} catch (Exception e) {
}
}
return description;
}
apache beanutils的功能强大,可以实现很多针对对象属性(符合bean规范的)的解析、数据的存取、数据类型的自动映射等,同时依赖collections/logging包,但是某些情况下可以需要特殊功能!上边的代码替换apache beanutils的 Map describe(Object) 方法,支持获取类的私有字段,同时避免引入外部包。