包含了属性名称和注解成员作为key两种Map
Object=>Map
package util;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
public class FieldMapAssembler {
/**
* 将传入的对象转换为属性名称到值的映射
* @param srcObj 对象
* @return 属性名称到值的映射
*/
public static <T> Map<String,Object> assembleFieldNameMapByObject(T srcObj) {
Map<String,Object> targetMap = new HashMap<>();
try {
Class<?> srcClazz=srcObj.getClass();
Field[] fields = srcClazz.getDeclaredFields();
for(Field field:fields) {
field.setAccessible(true);
String fieldName = field.getName();
Object fieldValue=field.get(srcObj);
targetMap.put(fieldName, fieldValue);
}
return targetMap;
} catch (IllegalAccessException | SecurityException e) {
e.printStackTrace();
return null;
}
}
/**
* 将传入的对象转换为属性数据库名称到值的映射
* @param srcObj 对象
* @return 属性数据库名称到值的映射
*/
public st