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 :

souci de visibilité de variable


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de turican2
    Profil pro
    Inscrit en
    Août 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2006
    Messages : 257
    Par défaut souci de visibilité de variable
    bonsoir bonsoir, peut etre m'eclairer un peu

    j'ai une class:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public class superGlobale {
        public static List<String> listeFichiers = new ArrayList<String>();
        public static List<String> listeFichiersMd5 =  new ArrayList<String>();
     
    }
    dans une class Runner j'ajoute des String dans la List:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     for (int i=0; i<s.length;i++)
    {
                    Matcher m = p.matcher(s[i]);
                    if ( m.find())
                    {
                          superGlobale.listeFichiers.add(s[i]);
                    }
    }
    avec le debugger je vois bien que superGlobale.listeFichiers contient suite à ce traitement 2 valeurs.

    Maintenant quand j'ai besoin de ces valeurs dans un traitement qui est aussi dans une autre class
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     int titi = superGlobale.listeFichiers.size();
    me retourne 0

    Je ne comprends pas bien, je pensais que "public static" m'aurais renvoyé ma list de 2 valeurs.

    voyez vous où je me trompe?

    merci de vos retour

  2. #2
    Membre Expert
    Avatar de gifffftane
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 354
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire (Rhône Alpes)

    Informations forums :
    Inscription : Février 2007
    Messages : 2 354
    Par défaut
    En tous les cas, le Petit Programme Suivant affiche bien 2 :
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    package zou;
     
    import java.util.ArrayList;
     
    /**
     *
     * @author herve
     */
    public class SuperEssai
    {
      public static class SuperGlobale
      {
        public static ArrayList<String> listeFichiers = new ArrayList<String>();
      }
     
        /**
         * @param args the command line arguments
         */
        public static void main(String[] args) 
        {
          SuperGlobale.listeFichiers.add("toto");
          SuperGlobale.listeFichiers.add("titi");
          System.out.println("size="+SuperGlobale.listeFichiers.size());
        }
     
    }
    Il doit donc y avoir un autre bémol dans ton soft.

  3. #3
    Membre éclairé Avatar de turican2
    Profil pro
    Inscrit en
    Août 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2006
    Messages : 257
    Par défaut
    Alors la curiosité du siècle,

    Netbeans 6.5.1 jdk: 1.6_10 > ok
    Netbeans 6.7 jdk: 1.6_11 > ko

    doit donc s'agir d'un bug d'IDE ou de JDK toujours est il que je ne sais pas à qui exposer mon souci ni savoir si SUN connait ce probleme?

  4. #4
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 697
    Par défaut
    Ton problème me parrait vraiment étrange. On dirait que ta classe est réinitialisée, ce qui il me semble ne devrait jamais arriver.
    Essaie cela pour voir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class superGlobale {
        public static List<String> listeFichiers;
        public static List<String> listeFichiersMd5;
     
        static{
          System.out.println("Initialisation de superGlobale");
          listeFichiers = new ArrayList<String>();
          listeFichiersMd5 =  new ArrayList<String>();
        }
     
    }
    Pour vérifier que superGlobale n'est initialisée qu'une fois.

  5. #5
    Membre éclairé Avatar de turican2
    Profil pro
    Inscrit en
    Août 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations forums :
    Inscription : Août 2006
    Messages : 257
    Par défaut
    je n'ai changé aucune ligne de code pourtant, en fonction du jdk 6_10 et 6_11, le 6_10 fait bien ce qui faut mais pas le 6_11?

  6. #6
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 697
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 697
    Par défaut
    Et "Initialisation de superGlobale" est affiché combien de fois si tu essaie avec le code que j'ai posté?

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

Discussions similaires

  1. [Système] Pb de visibilité de variable
    Par jeff&&php dans le forum Langage
    Réponses: 13
    Dernier message: 17/05/2006, 09h50
  2. problème visibilité de variable
    Par chti_juanito dans le forum Langage
    Réponses: 5
    Dernier message: 18/04/2006, 14h14
  3. Soucis pour récuperer mes variables ...
    Par R'SKaP dans le forum Langage
    Réponses: 13
    Dernier message: 23/01/2006, 20h04
  4. problème de visibilité des variables dans un include
    Par d1g-2-d1g dans le forum Langage
    Réponses: 6
    Dernier message: 28/11/2005, 09h35
  5. [EasyPHP] problème de visibilité des variable dans les includes
    Par d1g-2-d1g dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 4
    Dernier message: 23/10/2005, 01h55

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