将对象的值存入map
/**
* 对象转换Map
*/
public static Map<String, Object> objectTransformationMap(Object obj) {
Map<String, Object> map = new HashMap<String, Object>();
if (obj == null) {
return null;
}
Field[] fields = obj.getClass().getDeclaredFields();
for (Field field : fields) {
String fieldName = field.getName();
if (getValueByFieldName(fieldName, obj) != null)
map.put(fieldName, getValueByFieldName(fieldName, obj));
}
return map;
}
/**
* 根据属性名获取该类此属性的值
*
* @param fieldName
* @param object
* @return
*/
private static Object getValueByFieldName(String fieldName, Object obj) {
try {
PropertyDescriptor descriptor = new PropertyDescriptor(fieldName, obj.getClass());
Method get = descriptor.getReadMethod();
Object value = get.invoke(obj);
return value;
} catch (Exception e) {
return null;
}
}
将map的值取出放入对