Come tutti sappiamo, la riflessione Java fornisce il metodo Class.getConstructors
, ma come è l'ordine dell'array Constructor<?>[]
?Come è l'ordine dell'array cosa restituisce Class.getConstructors() in Java
Per esempio, creo classe Persona e ci sono 3 metodo costrutto:
public Person()
{
}
public Person(int age)
{
this.age = age;
}
public Person(int age, String name)
{
this.age = age;
this.name = name;
}
E per il debug, trovo l'ordine di schieramento costruttore in questo modo:
0 = public xxx.Person(int)
1 = public xxx.Person(int, java.lang.String)
2 = public xxx.Person()
perché è così importante? cosa provi? –
Questo non è documentato. Quindi non c'è una risposta affidabile. Puoi presumere che sia solo un ordine arbitrario. – RealSkeptic
Quando guardo il [Class # getDeclaredConstructors() -method] (http://docs.oracle.com/javase/7/docs/api/java/lang/Class.html#getDeclaredConstructors()) ho notato quanto segue line: "_ Gli elementi nella matrice restituita non sono ordinati e non sono in un ordine particolare._" Al [Class # getConstructors() -method] (http://docs.oracle.com/javase/7/docs/ api/java/lang/Class.html # getConstructors()) questo non è menzionato però. : S Il mio assunto è che lo stesso vale per quel metodo, e anche il tuo codice lo dimostra, ma non ne sono sicuro al 100%. –