反射(1) : 获取类的所有属性名或属性类型
import java.lang.reflect.Field;
import java.util.LinkedList;
import java.util.List;
/**
* @Auther: liyue
* @Date: 2021/3/15 15:55
* @Description:
*/
public class ReflectUtil {
/**
* 获取对象的所有属性值
*
* @param clazzT
* @param <T>
* @return
*/
public static <T> List<String> getObjectAttributeNames(Class<T> clazzT) {
List<String> list = new LinkedList<>();
try {
//根据类名获得其对应的Class对象 写上你想要的类名就是了 注意是全名 如果有包的话要加上 比如java.Lang.String
Class clazz = Class.forName(clazzT.getName());
//根据Class对象获得属性 私有的也可以获得
Field[] fields = clazz.getDeclaredFields();
for (Field f : fields) {
list.add(f.getName());
}
} catch (Exception e) {
e.printStackTrace();
}
return list;
}
}
参数传递为 类名.class, 如 User.class
END。
