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 :

Test sur un attribut


Sujet :

avec Java

  1. #1
    Membre habitué
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2009
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2009
    Messages : 152
    Points : 138
    Points
    138
    Par défaut Test sur un attribut
    Bonjour,

    Je me pose une question concernant les "null pointeur exception".

    On prenant l'exemple suivant:
    Une classe A ayant:
    _un attribut attribut non initialisé
    _une méthode get() qui renvoie l'attribut attribut
    _une méthode test() qui test si l'attribut attribut est null.

    Si le test est le suivant if(this.attribut==null), je n'ai pas d'erreur NullPointeurException alors que si le test est if(get()==null), j'ai une erreur.

    Quelqu'un pourrait-il m'expliquer.

    Merci

    Laurent

  2. #2
    Membre actif
    Inscrit en
    Juin 2008
    Messages
    189
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 189
    Points : 268
    Points
    268
    Par défaut
    A mon avis, ton get() ne fait pas que renvoyer l'attribut.

    Il fait plutôt quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public Attribut get() {
      if(attribut==null)
        throw NullPointerException();
      return attribut;
    }
    Voir un truc du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    private Attribut a;
    public String get() {
      return a.toString();
    }

    Si c'était simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public Attribut get() {
      return attribut;
    }
    Alors get()==null ne poserait pas de problème.

  3. #3
    Membre habitué
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2009
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2009
    Messages : 152
    Points : 138
    Points
    138
    Par défaut
    Non, mon get() ne fait que renvoyer l'attribut...
    Ce que je comprend pas, c'est pourquoi il y aurait une différence entre get()==null et this.attribut==null ...


    Laurent.

  4. #4
    Membre averti
    Avatar de DaveShot
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    238
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

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

    Informations forums :
    Inscription : Août 2008
    Messages : 238
    Points : 384
    Points
    384
    Par défaut
    Bonjour,
    dans le premier cas tu testes directement ton objet, pour savoir s'il est nul. Alors que dans le second test, tu fais appel à la méthode get qui elle te revoit la valeur de ton objet, c'est-à-dire null. D'où le NullPointeurException dans ce cas.

    En espérant avoir répondu à ta question.
    - N'hésitez pas à consulter les liens vers les FAQs, les cours et tutoriels -

    Daveshot

  5. #5
    Membre habitué
    Profil pro
    Ingénieur
    Inscrit en
    Mars 2009
    Messages
    152
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Mars 2009
    Messages : 152
    Points : 138
    Points
    138
    Par défaut
    Tu as effectivement répondu à ma question.

    Merci

  6. #6
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    À noter qu'il l'a simplement déduit. On ne peut pas savoir ce que fait ta méthode get() tant que tu ne nous la montres pas.

    Il est clair que ça ne fait pas exactement ce que tu nous dit, et l'explication qu'il t'a fournie est sans doute vraie, le problème c'est que ça signifie que tu t'es trompée dans ton explication.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. [XPATH] Test sur 2 attributs
    Par robbiano78 dans le forum XSL/XSLT/XPATH
    Réponses: 3
    Dernier message: 09/03/2009, 10h10
  2. [XSLT] test sur le commencement des valeurs des attributs
    Par mimiche_fr2000 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 22/02/2008, 13h03
  3. [JSTL] c:if erreur TLD sur l'attribut test
    Par debut_java dans le forum Taglibs
    Réponses: 9
    Dernier message: 25/03/2007, 18h12
  4. test sur fichiers[forms9i]
    Par Challenger dans le forum Forms
    Réponses: 6
    Dernier message: 14/06/2004, 17h25
  5. Test sur un champs vide
    Par PrinceMaster77 dans le forum ASP
    Réponses: 2
    Dernier message: 27/04/2004, 12h54

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