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

Langage Java Discussion :

Quand risque-t-on de tomber sur un NULL ?


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    24
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 24
    Par défaut -----------------
    ------------------------

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par Furi0u5 Voir le message
    Avec un objet en paramètre d'un constructeur il faut toujours vérifier s'il n'est pas null.
    Pas forcément, ton constructeur peut très bien accepter des paramètres null, ça dépend de la façon dont tu l'as codé...



    Citation Envoyé par Furi0u5 Voir le message
    Mais lorsque je teste mon constructeur, je suis obligé d'initialiser mon objet à null
    Absolument pas. C'est même complètement inutile la plupart du temps.
    Si tu effectues :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Object o = new ...; // appel d'un constructeur
    alors tu seras sûr que o ne seras pas null (soit le constructeur a échoué et a levé une exception, et donc tu n'atteindras pas l'instruction suivante, soit il a réussi à créer un nouvel objet, et donc o est non null et tu peux tranquillement continuer ton traitement sur o).



    Citation Envoyé par Furi0u5 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Objet o = null;
    if (o!=null) {
      ...
    }
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Objet o;
    if (o!=null) {
      ...
    }
    Ces deux codes sont équivalents, et dans les deux cas le test est complètement inutile : tu viens juste de mettre o à null, comment espères-tu obtenir autre chose que false en testant (o != null) ?



    Citation Envoyé par Furi0u5 Voir le message
    Sauf que voilà... c'est bien beau de mettre un objet à null mais j'aimerais savoir quand (dans un programme qui n'est pas un test) mon constructeur risque de tomber sur un objet null ?
    Eh bien il faut tester la valeur du paramètre à l'intérieur du constructeur...



    Citation Envoyé par Furi0u5 Voir le message
    Comment se met-t-il à null si l'on ne le met pas manuellement ?
    Je ne comprends pas de quoi tu parles
    Soit tu as passé un objet null en paramètre à ton constructeur, soit tu lui as passé un objet correctement initialisé, et dans les deux cas le constructeur utiliseras ce que tu lui as donné en entrée (avec éventuellement levée d'une NullPointerException s'il n'était pas prévu qu'un paramètre puisse être null)... que veux-tu dire par "il se met à null" ???

Discussions similaires

  1. Réponses: 5
    Dernier message: 10/12/2011, 10h44
  2. Réponses: 0
    Dernier message: 24/07/2007, 00h03
  3. [whois] être informé quand quelqu'un fait un whois sur moi ?
    Par PadawaDesEtoiles dans le forum IRC / mIRC
    Réponses: 4
    Dernier message: 22/03/2007, 19h58

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