package org.neframework.mvc.util;
import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;
public class ClassTools {
/**
* 设置BEAN属性值
*
* @param field
* @param obj
* @param val
*/
public static void setClassVal(Field field, Object obj, Object val) {
boolean acc = field.isAccessible();
field.setAccessible(true);
try {
field.set(obj, val);
} catch (Exception e) {
e.printStackTrace();
} finally {
field.setAccessible(acc);
}
}
/**
* 获取属性值
*
* @param field
* @param obj
* @return
*/
public static Object getClassVal(Field field, Object obj) {
boolean acc = field.isAccessible();
field.setAccessible(true);
try {
return field.get(obj);
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
field.setAccessible(acc);
}
}
/**
* 获取Class的属性名称
*
* @param clazz
* @return
*/
public static List<String> getClassProperties(Class<?> clazz) {
List<String> list = new ArrayList<String>();
List<Field> fields = getClassFields(clazz);
for (Field field : fields) {
list.add(field.getName());
}
return list;
}
public static List<Field> getClassFields(Class<?> clazz) {
List<Field> clazzField = new ArrayList<Field>();
Field[] fields = clazz.getDeclaredFields();
for (Field field : fields) {
clazzField.add(field);
}// #for
return clazzField;
}
}