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 :

NullPointerException qui me semble insensée


Sujet :

avec Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    51
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2010
    Messages : 51
    Par défaut NullPointerException qui me semble insensée
    Bonsoir !

    J'ai un peu d'expérience en JAVA, mais la, quelque chose me laisse perplexe.

    J'ai le bout de code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Banane banane = new Banane();
    while (banane.isYellow()){
       // code sans interet
    }
    Lors du lancement du programme, j'obtiens un NullPointerException. Je me dis donc que (banane == null). Mais ce n'est pas le cas. Plus étrange encore, si j'écris le code comme suit, tout se passe bien !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Banane banane = new Banane();
    boolean bool = banane.isYellow();
    while (bool) {
       // code sans interet
    }
    Je ne vois vraiment pas où se trouve le problème ..
    De plus, toutes les méthodes sur l'objet toto qui sont à l'intérieur du while me font le même scénario. Et en créant des booléens avant le while, tout marche correctement. Mais bon, je n'ai aucune envie de laisser mon code comme ça ! D'autant plus que j'ai une autre méthode que je dois appeler obligatoirement à l'intérieur du while.

    J'espère que quelqu'un pourra m'aider assez rapidement

    Bonne soirée à vous !

  2. #2
    Rédacteur/Modérateur
    Avatar de Logan Mauzaize
    Homme Profil pro
    Architecte technique
    Inscrit en
    Août 2005
    Messages
    2 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Transports

    Informations forums :
    Inscription : Août 2005
    Messages : 2 894
    Par défaut
    La méthode que j'emploie pour résoudre les problèmes (qu'ils soient insensés) ou non est réduire les entrées à son minimum. Dans ton cas, ca consiste à écrire le minimum code qui provoque l'erreur.

    Ensuite met nous à disposition ce code ainsi que la Stacktrace. Celle-ci contient le nom de la classe, le nom du fichier source et la ligne où l'erreur a été détectée.

    Au vue du code, je suspecte que ta méthode "isYellow()" fait appel à une référence qui peut être null. Dans le premier cas ta méthode est appelée à chaque itération alors que dans le deuxième cas elle n'est appelée qu'une seule fois.
    J'en déduis que c'est ton code sans intérêt qui modifie cette "propriété".
    Java : Cours et tutoriels - FAQ - Java SE 8 API - Programmation concurrente
    Ceylon : Installation - Concepts de base - Typage - Appels et arguments

    ECM = Exemple(reproduit le problème) Complet (code compilable) Minimal (ne postez pas votre application !)
    Une solution vous convient ? N'oubliez pas le tag
    Signature par pitipoisson

  3. #3
    Expert éminent
    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
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il faudrait voir le code exact ainsi que le stacktrace complet de l'exception.
    Il suffit ensuite de remonter ce même stacktrace pour trouver l'origine du problème...

    a++

  4. #4
    Membre chevronné Avatar de javaNavCha
    Homme Profil pro
    EKG Group
    Inscrit en
    Juillet 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : EKG Group
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 311
    Par défaut
    Est ce que la valeur booleéne que la méthode isYellow() renvoie est définie?

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

Discussions similaires

  1. [DOM] Script qui ne semble pas fonctionner sous IE 6 et 7
    Par Oluha dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/06/2007, 16h50
  2. Réponses: 5
    Dernier message: 27/04/2007, 10h25
  3. [PDO] et bindValue qui ne semble pas fonctionner
    Par Tommyl dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 31/10/2006, 16h12
  4. [MySQL] ORDER BY qui ne semble pas pris en compte
    Par yongblood dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/03/2006, 12h53

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