2013-01-14 1 views
2

J'essaie d'obtenir les noms de membres d'une classe en Java. Par exemple, disons que je la classe:Obtenir les noms des membres disponibles d'une classe Java

class Dog 
{ 
    private int legs = 4; 
    private int ears = 2; 
} 

Y at-il de toute façon je peux obtenir une liste des noms de champs ainsi que leurs types, tels que

{ "legs" : "int", "ears" : "int" }.

Remarque J'ai écrit le résultat de l'exemple dans JSON pour plus de commodité, mais je le fais en Java.

+0

Merci pour la fixation – Jason

+4

ce que vous demandez est appelé [réflexion] (http://docs.oracle .com/javase/tutorial/reflect/index.html) – Oren

Répondre

8

Utilisation Class#getDeclaredFields(): -

for(Field f : Dog.class.getDeclaredFields()) { 
    f.setAccessible(true); 
    String name = f.getName(); 
} 
+0

il devrait plutôt utiliser 'Class # getDeclaredFields()' – Archer

3
Field[] fields = Dog.class.getFields(); 

et appeler getName() pour chaque élément

Questions connexes