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

avec Java Discussion :

Constructeur et nom variable


Sujet :

avec Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 35
    Points : 30
    Points
    30
    Par défaut Constructeur et nom variable
    Bonjour,

    je débute en java , ma question est probablement bête mais je suis confronter au problème suivant et je ne trouves pas de réponse:

    je parcours une base de donnée avec un resultset normal et a chaque repos je voudrais creer un objet, avec un nom different.

    j'ai donc écrit ca:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    int ID=1;
    while (resultat.next()) {                 
         Objet ID = new Objet(resultat.getString(2),resultat.getString(3));
         ID ++;          
      }
    Mais évidemment j'ai une belle erreur qui me dis qu ID est déjá défini avant.
    Je comprend bien qu'il veux me creer un Objet nommé ID et non de la valeur de ID mais du coup je ne sais pas comment faire pour créer cet objet.

    Bref en gros comment faire pour créer un objet dont le nom est le contenu d'une variable?

    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Utilises un tableau ou une liste...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    List<Objet> list = new ArrayList<Objet>();
    while (resultat.next()) {                 
         list.add( new Objet(resultat.getString(2),resultat.getString(3)) );
    }
    a++

  3. #3
    Membre éprouvé
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Points : 950
    Points
    950
    Par défaut Constructeur et nom variable
    Bonjour,
    Pour moi, je ferai comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int ID=1;
    String MonObjet = "Variable";
    while (resultat.next()) {                 
         Objet  MonObjet + ID = new Objet(resultat.getString(2),resultat.getString(3));
         ID ++;          
      }
    Il suffit juste que tu tranforme ta varaibale ID en string.
    De cette façon, on obtient un identifiant un nouvel objet. C'est vrai que c'est plus simple, mais le mieux c'est d'utiliser une liste.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par kmdkaci Voir le message
    Bonjour,
    Pour moi, je ferai comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    int ID=1;
    String MonObjet = "Variable";
    while (resultat.next()) {                 
         Objet  MonObjet + ID = new Objet(resultat.getString(2),resultat.getString(3));
         ID ++;          
      }
    Il suffit juste que tu tranforme ta varaibale ID en string.
    De cette façon, on obtient un identifiant un nouvel objet. C'est vrai que c'est plus simple, mais le mieux c'est d'utiliser une liste.
    Euh là je crois que tu confonds le nom de la variable connu à la compilation et la valeur d'une chaine (ou autre) connue à l'exécution... Pour faire ca, il faudrait un préprocesseur qui modifie le code source avant la compilation... Mais ca, ton exemple ne compile même pas...

  5. #5
    Membre éprouvé
    Avatar de kmdkaci
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    560
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 560
    Points : 950
    Points
    950
    Par défaut Constructeur et nom variable
    Bonjour,
    Merci pour ta correction George7. Effectivement ça ne compile même pas. Et ce n'est pas possible en Java...De ce fait, je retire ce que j'ai avancé.

    Puisque le nom d'un objet est sans importance. C'est sa référence qui prime. Il suffit de faire new à chaque fois.

    Mais j'ai vu que ça existe en d'autres langages. J'ai déjà travaillé avec Clipper et là tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Variable := ""
    for i := 1 to n
    maVar := &(variable + i)
    next
    Mais je confirme encore que ça ne marche PAS en java.

    merci

Discussions similaires

  1. construction nom variable
    Par philou8 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 17/01/2006, 11h13
  2. [FLASH MX] nom variable pour une fonction
    Par totoche dans le forum Flash
    Réponses: 2
    Dernier message: 20/12/2005, 14h00
  3. Réponses: 10
    Dernier message: 06/04/2005, 15h44
  4. Récupération de la valeur d'un champ au nom variable
    Par Oluha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 10/02/2005, 15h13
  5. Réponses: 7
    Dernier message: 30/09/2004, 12h55

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