/*
*反射帮助类
*/
public class ReflectHelper {
/*
*获取obj对象fieldName的Field
*/
public static Field getFieldByFieldName(Object obj,String fieldName) {
Class<?> superClass;
for (superClass = obj.getClass();superClass != Object.class; superClass = superClass.getSuperClass()) {
try{
return superClass.getDeclaredField(fieldName);
} catch (NoSuchFieldException e) {
}
}
return null;
}
/*
*获取obj对象fieldName的属性值
*/
public static Object getValueByFieldName(Object obj,String fieldName) throws SecurityException,NoSuchFieldException,IllegalArgumentException,IllegalAccessException {
Field field = getFieldByFieldName(obj,fieldName);
Object value = null;
if (field != null) {
if (field.isAccessible()) {
value = field.get(obj);
} else {
field.setAccessible(true);
value = field.get(obj);
field.setAccessible(false);
}
}
return value;
}
/*
*设置obj对象fieldName的属性值
*/
public static void setValueByFieldName(Object obj,String fieldName,Object value) throws SecurityException,NoSuchFieldException,IllegalArgumentException,IllegalAccessException {
Field field = obj.getClass().getDeclaredField(fieldName);
if (field.isAccessible()) {
field.set(obj,value);
} else {
field.setAccessible(true);
field.set(obj,value);
field.setAccessible(false);
}
}
}
反射帮助类ReflectHelper
最新推荐文章于 2022-11-22 23:04:17 发布