IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

API standards et tierces Java Discussion :

[Reflection] valeur variable


Sujet :

API standards et tierces Java

  1. #1
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 229
    Points : 90
    Points
    90
    Par défaut [Reflection] valeur variable
    Bonjour,

    Comment recupere la valeur d'une variable d'une interface par introspection?

    public interface UTILISATEUR {

    String ID_UTILISATEUR = "ID_UTILISATEUR";
    }
    Merci
    hocine

  2. #2
    NGY
    NGY est déconnecté
    Membre habitué
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 164
    Points
    164
    Par défaut
    Je dirais en utilisant getField() et la classe Field

  3. #3
    Membre régulier
    Inscrit en
    Juillet 2003
    Messages
    229
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 229
    Points : 90
    Points
    90
    Par défaut
    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

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 154
    Points : 143
    Points
    143
    Par défaut
    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

  5. #5
    NGY
    NGY est déconnecté
    Membre habitué
    Inscrit en
    Août 2002
    Messages
    137
    Détails du profil
    Informations forums :
    Inscription : Août 2002
    Messages : 137
    Points : 164
    Points
    164
    Par défaut
    Citation Envoyé par hocinema
    En fait mon exemple est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    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
    Ce i c'est quoi ? Une variable de boucle ?
    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.

  6. #6
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 845
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 845
    Points : 22 851
    Points
    22 851
    Billets dans le blog
    51
    Par défaut
    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".
    ou

    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

Discussions similaires

  1. Renvoi valeur variable popup
    Par RedBit dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/04/2007, 16h05
  2. Assigner valeurs variables comp. TextArea
    Par delavega dans le forum Flash
    Réponses: 1
    Dernier message: 07/09/2006, 11h27
  3. Réponses: 7
    Dernier message: 06/05/2006, 15h24
  4. Concaténer valeur variable
    Par nebule dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 05/05/2006, 08h58
  5. Array à valeur variables
    Par klipfel dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/12/2004, 16h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo