反射(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。