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。
本文介绍了一个Java工具类ReflectUtil,通过反射机制获取指定类的所有属性名称。该工具类使用Class对象和Field数组来遍历并收集类的所有字段名,适用于需要动态获取对象属性的场景。
1264

被折叠的 条评论
为什么被折叠?



