Bonjour,
Comment recupere la valeur d'une variable d'une interface par introspection?
Mercipublic interface UTILISATEUR {
String ID_UTILISATEUR = "ID_UTILISATEUR";
}
Bonjour,
Comment recupere la valeur d'une variable d'une interface par introspection?
Mercipublic 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 ?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.
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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... }
Merci de penser au tagquand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez mon blog sur Développez.
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook
Partager