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 :

clés et valeurs à null dans une HashMap typée


Sujet :

API standards et tierces Java

  1. #1
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut clés et valeurs à null dans une HashMap typée
    Bonjour,
    je ne comprends pas pourquoi en déclarant une Map comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Map<String,Integer> graphicalFormsLexicon;
    J'effectue ensuite des ajouts dans la Map et je me retrouve avec des paires de clé/valeur à null (dans le debugger) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public void characters(char buf [], int start, int length)
        throws SAXException {
            super.characters(buf, start, length);
            String word = new String(buf, start, length);
            if(word != null && !word.equals(" ") && !word.equals(System.getProperty("line.separator")))    {
                int newTokenCount;
                if(this.graphicalFormsLexicon.containsKey(word))    {
                    newTokenCount = (Integer)graphicalFormsLexicon.get(word) + 1;
                } else    {
                    newTokenCount = 1;
                }
                this.graphicalFormsLexicon.put(word, newTokenCount);
            }
        }
    Alors, qu'avec le même code d'insertion mais en déclarant la Map sans la typer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    private Map graphicalFormsLexicon;
    Il n'y a pas de problème, ma Map contient bien juste ce qu'il faut (dans le debugger). A moins qu'il s'agisse d'un fonctionnement interne lié au structure typée et qu'il ne faille pas s'en inquiéter ?
    Quelqu'un aurait-il une idée sur la question ?
    Merci d'avance et a+
    Vive les roues en pierre

  2. #2
    Membre averti Avatar de dazz_x
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    269
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 269
    Points : 328
    Points
    328
    Par défaut
    est-ce que tu fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    graphicalFormsLexicon=new Map<String,Integer>();
    //ou HashMap, ou LinkedHashMap etc...
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    graphicalFormsLexicon=new Map();
    //ou HashMap, ou LinkedHashMap etc...
    ?
    La différence entre la théorie et la pratique est plus mince en théorie qu'en pratique

  3. #3
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    hello,
    j'ai essayé avec les deux méthodes et c'est pareil.
    Vive les roues en pierre

  4. #4
    Membre expérimenté Avatar de yann2
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 897
    Points : 1 635
    Points
    1 635
    Par défaut
    Bonjour

    Peut être un bug du débogguer parce que normalement tu ne peux avoir qu'une clé à nulle. Il faut regarder avec un sysout de la map.toString.

  5. #5
    Membre émérite Avatar de Djakisback
    Profil pro
    Inscrit en
    Février 2005
    Messages
    2 023
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 2 023
    Points : 2 273
    Points
    2 273
    Par défaut
    En effet les clé/valeur null ne s'affichent pas et la taille de la Map (avec size()) est la bonne alors que dans le débugger les clé/valeurs null sont comptées dans la taille. Le debugger de NetBeans doit planter ^^

    Merci à vous deux

    (Je laisse le topic à non résolu, si kkun a plus d'infos...)
    Vive les roues en pierre

Discussions similaires

  1. Insérer la valeur NULL dans une colonne de type number
    Par cocoaparis dans le forum PL/SQL
    Réponses: 8
    Dernier message: 08/07/2009, 15h46
  2. remplacer les valeurs nulles dans une table
    Par jessy212 dans le forum Access
    Réponses: 4
    Dernier message: 28/08/2006, 13h22
  3. Réponses: 10
    Dernier message: 30/06/2006, 17h41
  4. Comment gérer les valeur Nulles dans une requête ?
    Par sondo dans le forum Bases de données
    Réponses: 3
    Dernier message: 16/03/2005, 11h02
  5. Affcecter une valeur NULL dans une requete paramétrée
    Par thiouwz2 dans le forum Bases de données
    Réponses: 7
    Dernier message: 05/11/2004, 15h02

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