【Java】获取Class类的非静态字段的方式

准备一个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修饰。

你可能感兴趣的:(Java,java,开发语言,servlet)