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

Java Discussion :

Java / Comment utiliser la reflexivite


Sujet :

Java

  1. #1
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut Java / Comment utiliser la reflexivite
    Bonjour,

    J'ai un problème relativement simple, mais que je n'arrive à solutionner.
    Je souhaite utiliser la reflexivité de java pour faire ceci :

    Dans une liste, je génère des noms de champs : "idField1", "idField2", "idField3" etc.
    La liste possède un nombre de champs qu'il n'est possible de connaitre à l'avance.

    Avec cette liste, je souhaite utiliser ces noms de champ paramétrés en variables String, mais je ne sais pas comment faire.
    Je voudrais faire quelque chose qui ressemblerait à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for (int i=0 ; i < maListe.size() ; i++) {
     
    String maListe.get(i) = initialisation de la variable...
     
    }
    MERCI pour votre aide

  2. #2
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Citation Envoyé par denisduval75 Voir le message
    Dans une liste, je génère des noms de champs : "idField1", "idField2", "idField3" etc.
    La liste possède un nombre de champs qu'il n'est possible de connaitre à l'avance.
    Il est ou le code car ce n'est pas claire, ca ressemble à ceci ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List<String> malist = new ArrayList<>();
    malist.add("idField1");
    malist.add("idField2");
    ...
    Si oui alors tu connais le nombre de champs...

    Par contre si tu veux analyser par exemple toutes les variables d'une classe et les mettre dans cette liste alors oui il faudra passer par de la reflexion sans doute.

    Pour se faire tu peux déjà consulter ceci http://ricky81.developpez.com/tutori...pi/reflection/
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    En fait voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    int nbPanels = 25;
    ...
    ...
    List<String> listePanels = null;
     
        for (int i=0; i < nbPanels; i++) {
     
            listePanels.add("idPanel" +i);
        }
    ...
    ...
        for (int i=0; i < listePanels.size(); i++) {
     
            String ???  <--- ici je souhaite créer 25 string avec pour nom : idPanel0 à idPanel24
     
        }

  4. #4
    Modérateur
    Avatar de wax78
    Homme Profil pro
    Chef programmeur
    Inscrit en
    Août 2006
    Messages
    4 074
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chef programmeur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2006
    Messages : 4 074
    Points : 7 978
    Points
    7 978
    Par défaut
    Je crois deviner...

    Mais tu ne pourrais pas faire ca comme ça a mon avis, on ne peux pas créer des variables avec la reflection.

    Il faut déclarer un tableau de string (de taille de la liste) puis les remplir dans la boucle pour les utiliser ensuite. Mais peut être qu'une Map serait plus conveniente, je ne sais pas c'est selon ce que tu comptes faire par après.
    (Les "ça ne marche pas", même écrits sans faute(s), vous porteront discrédit ad vitam æternam et malheur pendant 7 ans)

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Membre habitué
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Février 2015
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Service public

    Informations forums :
    Inscription : Février 2015
    Messages : 402
    Points : 153
    Points
    153
    Par défaut
    Bonjour,

    Merci pour ce tuto. Il est très bien fait et j'y vois déjà plus clair avec la class Class.

    Mais il n'est pas possible de créer dynamiquement des variables comme je le souhaite.

    Il faut que je trouve une solution de contournement.
    Je vais plutôt m'orienter vers une liste d'objets au lieu de String.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/01/2009, 11h01
  2. [FOP][Java] comment utiliser une police
    Par elzedo dans le forum XML/XSL et SOAP
    Réponses: 6
    Dernier message: 01/12/2006, 18h40
  3. [Couche réseau]Comment utiliser du CRC en Java?
    Par Yanos dans le forum Langage
    Réponses: 6
    Dernier message: 30/06/2006, 16h23
  4. [Prolog] Comment utiliser java avec swiprolog
    Par bichouchou dans le forum API standards et tierces
    Réponses: 1
    Dernier message: 11/03/2006, 15h20
  5. comment utiliser de l'OpenGL avec du Java ?
    Par DjiZ dans le forum OpenGL
    Réponses: 3
    Dernier message: 14/01/2004, 15h21

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