缺陷: 如果field是一个字符或者 没有get方法,就无法获取
public static <T> Map<String, Object> getAllUidAndNameForList(Collection<T> list, String fieldKey, String fieldVal) {
if(list == null || list.size() == 0){
return null;
}
Map<String, Object> resMap = new HashMap<>(list.size());
try{
String keyFieldMethod = "get" + fieldKey.substring(0, 1).toUpperCase() + fieldKey.substring(1);
String valFieldMethod = "get" + fieldVal.substring(0, 1).toUpperCase() + fieldVal.substring(1);
for(T t : list){
Class<?> aClass = t.getClass();
resMap.put(String.valueOf(aClass.getDeclaredMethod(keyFieldMethod).invoke(t)), String.valueOf(aClass.getDeclaredMethod(valFieldMethod).invoke(t)));
}
} catch (Exception e){
log.error("com.jsy.community.util.excel.impl.Test.getAllUidAndNameForList:{}", e.getMessage());
return null;
}
return resMap;
}