在Java中创建字段数组

在Java中创建字段数组,java,arrays,reflection,Java,Arrays,Reflection,我正在尝试实现一个程序,该程序将从某个类的字段中创建一个数组 然后访问每个字段 我有以下课程: public class Example { public int[] a = {1,2,3}; public int[] b = {1,1,1}; public int[] c = {2,2,2}; } 在另一个类中,我希望访问所有这些字段,并将它们放入数组“testArray”中 如何以这种方式访问字段 注意:出于某种原因,这给了我一个关于标记“;”的语法错误,{在这个标记之后应该

我正在尝试实现一个程序,该程序将从某个类的字段中创建一个数组 然后访问每个字段

我有以下课程:

public class Example {

  public int[] a = {1,2,3};
  public int[] b = {1,1,1};
  public int[] c = {2,2,2};
}
在另一个类中,我希望访问所有这些字段,并将它们放入数组“testArray”中

如何以这种方式访问字段


注意:出于某种原因,这给了我一个关于标记“;”的语法错误,{在这个标记之后应该是这样的

您几乎就到了:一旦您获得了一个字段数组,就在每个字段上调用
get
,传递您希望从中获取属性的对象的实例(在本例中,这将是
t
):


当然,这不会打印对象的漂亮表示,因为
int[]
数组不提供有意义的
字符串,但您将值作为对象放在那里,因此您可以强制转换它,并根据需要打印值。

您会收到错误,因为没有任何代码存在于方法中。请将其移到测试方法中。

有什么区别吗?两种方法都不起作用吗?@DasbLinkedLight感谢您的帮助小补丁,但它仍然给我同样的错误是的,显然他们没有,一定错过了备忘录。。。
import java.lang.reflect.Field;
public class Test { 

  Example t = new Example();
  Field[] testArray = t.getClass().getFields();

  for (Field elem: testArray) {
   // access the fields
  }

}
Object[] fieldsOfT = new Object[testArray.length];
int i = 0;
for (Field f : testArray) {
    fieldsOfT[i++] = f.get(t);
}
for (Object v : fieldsOfT) {
    System.out.println(v);
}