Java 反射:判断字段是否为 static


#Java 反射、泛型与注解#


可以使用 Modifier.isStatic(field.getModifiers()) 判断。

代码示例:

package org.example;

import java.lang.reflect.Field;
import java.lang.reflect.Modifier;

public class Main {

    public static class UserInfo {
        private String name01;
        protected String name02;
        String name03;
        public String name04;

        private static String name11;
        protected static String name12;
        static String name13;
        public static String name14;
    }

    public static void main(String[] args) {
        for (Field field : UserInfo.class.getDeclaredFields()) {
            boolean isStatic = Modifier.isStatic(field.getModifiers());
            System.out.printf("%s 是否为 static: %s\n", field.getName(), isStatic);
        }
    }

}

执行结果:

name01 是否为 static: false
name02 是否为 static: false
name03 是否为 static: false
name04 是否为 static: false
name11 是否为 static: true
name12 是否为 static: true
name13 是否为 static: true
name14 是否为 static: true

( 本文完 )