/**
*
* @Title: getFields
* @Description: 获取类中声明的field
* @param @param cls
* @param @return 参数
* @author shidebin
* @date 2019年1月22日
* @return Map<String,Field> 返回类型
* @throws
*/
private static Map<String, Field> getFields(Class<?> cls) {
Map<String, Field> fieldMap = new HashMap<String, Field>();
Field[] fields = cls.getDeclaredFields();
Field.setAccessible(fields, true);
for (Field f : fields) {
fieldMap.put(f.getName(), f);
}
return fieldMap;
}
/**
*
* @Title: getFieldCheckMap
* @Description: 获取field上的注解
* @param @param cls
* @param @return 参数
* @author shidebin
* @date 2019年1月22日
* @return Map<String,Checks> 返回类型
* @throws
*/
private static Map<String, Checks> getFieldCheckMap(Class<?> cls) {
Map<String, Checks> nameMap = new HashMap<String, Checks>();
Field[] fields = cls.getDeclaredFields();
for (Field f : fields) {
Checks anno = f.getDeclaredAnnotation(Checks.class);
if (anno != null) {
nameMap.put(f.getName(), anno);
}
}
Class<?> superclass = cls.getSuperclass();
Field[] superFields = superclass.getDeclaredFields();
for (Field f : superFields) {
Checks anno = f.getAnnotation(Checks.class);
if (anno != null) {
nameMap.put(f.getName(), anno);
}
}
return nameMap;
}
转载 https://blog.csdn.net/shidebin/article/details/86593949