Bonjour,
Comment recupere la valeur d'une variable d'une interface par introspection?
MerciCitation:
public interface UTILISATEUR {
String ID_UTILISATEUR = "ID_UTILISATEUR";
}
Version imprimable
Bonjour,
Comment recupere la valeur d'une variable d'une interface par introspection?
MerciCitation:
public interface UTILISATEUR {
String ID_UTILISATEUR = "ID_UTILISATEUR";
}
Je dirais en utilisant getField() et la classe Field
En fait mon exemple est le suivant :
Class c = Class.forName(nomClasse);
Field[] fields = c.getFields();
Field field = fields[i];
Comment récupérer la valeur et le nom de field?
Merci
A mon avis, tu dois avoir un getter et faire un appel de méthode sur ton instance [ tu peux faire tous ca par réflexion].
Ce i c'est quoi ? Une variable de boucle ?Citation:
Envoyé par hocinema
Tu veux afficher le nom et la valeur de tous les attributs de la classe ?
D'après ton 1er message, je pensais que tu voulais retrouver la valeur de ID_UTILISATEUR. Du coup, je ne comprends plus trop ce que tu veux faire.
En tout cas, tu as tout ce qu'il faut avect la classe Field et getField() ( je n'ai jamais parlé de getFields() ). N'hésite pas à consulter la javadoc.
ouCode:
1
2
3
4
5
6
7 Class c = Class.forName(nomClasse); Field f = c.getField("ID_UTILISATEUR"); // Evidement si ta variable a un nom identique à la valeur qu'elle contient ca va pas être clair à saisir. String value = (String)f.get(null); // Variable statique, le paramètre cible est donc un paramètre optionnel. // Sauf erreur value contient "ID_UTILISATEUR".
Code:
1
2
3
4
5
6
7
8 Class c = Class.forName(nomClasse); Field[] fields = c.getFields(); for (Field f : fields) { String name = f.getName(); Class type = f.getType(); Object value = f.get(null); // Pour les variables d'isntance y faut une instance ici... }