2010-10-07 3 views

Répondre

4
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] 
    } 
} 

En plus de getDeclaredField(String), il y a getField(String) et getFields() qui reviennent uniquement les champs publics, ainsi que pour tous les champs getDeclaredFields() une classe déclare.

Questions connexes