准备一个Student
类
@Data
public static class Student{
private String username;
private String password;
public static String AABB;
}
获取字段的方式如下:
Field[] declaredFields = Student.class.getDeclaredFields();
for (Field declaredField : declaredFields) {
System.out.println(declaredField.getName());
}
//结果
username
password
AABB
但是我们在有些业务中通过反射想得到非静态的字段,这时候我们应该怎么办呢,添加下面的这个判断即可。
Field[] declaredFields = Student.class.getDeclaredFields();
for (java.lang.reflect.Field declaredField : declaredFields) {
if (!Modifier.isStatic(declaredField.getModifiers())) {
System.out.println(declaredField.getName());
}
}
Modifier.isStatic()
判断字段是否是static
修饰。