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";
}
hocine
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
hocine
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].
Bonne chance, Bonne journée, bonne année bonne santée et etc ...
Youpi la vie est belle ! Et vive la fraicheur
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 tag quand 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
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager