通过java反射从Field访问类型为整数的数组



假设我有这个类

public static final class MyClass { 
    public static final int A = 4 ;
    public static final int[] B = { 1, 2, 3, 4 };
}

我必须通过反射访问上面的类和它的字段值

Class<?> myClass = getDesiredClass("MyClass"); 

我可以通过

得到A的值
int a = myClass.getField("A").getInt(myClass);

但是如何得到B的值,我应该使用什么Field的方法?

 int[] b = myClass.getField("B").?

int[]Object,所以只使用(int[]) get(myClass)——或者(int[]) get(null),因为静态字段不需要参数。

这些都是等价的。我会选择最简单的。;)

int[] b = MyClass.B;
int[] b = (int[]) MyClass.class.getField("B").get(null);
int[] b = (int[]) Class.forName("MyClass").getField("B").get(null);

相关内容

  • 没有找到相关文章

最新更新