class Foo {
private String[] bar;
public Foo(String[] bar) {
this.bar = bar;
}
public static void main(String[] args) throws Exception {
Foo foo = new Foo(new String[] {"a", "b", "c"});
Field barField = Foo.class.getDeclaredField("bar");
String[] bar = (String[]) barField.get(foo);
System.out.println(Arrays.toString(bar)); // [a, b, c]
}
}
В дополнение к getDeclaredField(String)
есть getField(String)
и getFields()
, которые возвращают только открытые поля, а также getDeclaredFields()
для всех полей, объявленных классом.