java技巧:反射判断field类型方法

JAVA 反射机制中,Field的getModifiers()方法返回int类型值表示该字段的修饰符。

其中,该修饰符是java.lang.reflect.Modifier的静态属性。

对应表如下:

类型                 int        二进制

PUBLIC:           1             1
PRIVATE:         2             10
PROTECTED: 4              100
STATIC:           8              1000
FINAL:           16             10000
SYNCHRONIZED: 32     100000
VOLATILE: 64                 1000000
TRANSIENT: 128            10000000
NATIVE: 256                    100000000
INTERFACE: 512             1000000000
ABSTRACT: 1024            10000000000
STRICT: 2048                  100000000000


//判断是不是private类型方法
public static boolean is Private(int modifiers){
    retrurn ((modifiers & 0x2)!=0);
}
分析一下,&是按位与操作符,0x2是十六进制,二进制是10,所以只有private类型按位与不为0.

你可能感兴趣的:(java,java,二进制,反射)