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

Interfaces Graphiques en Java Discussion :

'java.lang.NullPointerException' dans une liste


Sujet :

Interfaces Graphiques en Java

  1. #1
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50
    Par défaut 'java.lang.NullPointerException' dans une liste
    Bjr,
    J'ai un problème de 'java.lang.NullPointerException' en essayant de remplir une List. Voici mon code (remarquez que le println est là pour voir où est le problème et le boolean 'ok' est là pour limiter les null dans la liste 'ls').
    Et pourtant, on peut voir dans la 1ere ligne d'erreur (avec le println) que 'temp' n'est pas vide !

    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
     
    private List<Supply> ls;
     
    public void setLf() {
    		List<Supply> temp = facade.searchSuppliesForOneSeller();
    		System.out.println(temp+"");
    		boolean ok = false;
    		for (Supply s : temp) {
    			if(s.isSold()){
    				ok=true;
    					if(ok){
    						ls.add(s);
    				}
    			}
    		}
    	}
    et j'ai tjrs le même message d'erreur:
    [[idSupply=1, refSupply=zsc-000123, Table de jardin], [idSupply=2, refSupply=taja/789552-45, Table de salon], [idSupply=70, refSupply=ghh, tutu], [idSupply=71, refSupply="""", rrrr]]
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    at gui.view.jmodel.ToysSoldForOneSellerTableModel.setLf(ToysSoldForOneSellerTableModel.java:91)...

    Merci pour votre aide.

    Marc

  2. #2
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut
    Hello,

    Ce n'est pas ta liste qui est vide, d'après la trace, la NPE est détectée dans le fichier ToysSoldForOneSellerTableModel.java:91, ligne 91

    ++

  3. #3
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par paesportcomputing Voir le message
    Et pourtant, on peut voir dans la 1ere ligne d'erreur (avec le println) que 'temp' n'est pas vide !
    Oui, mais ls est null, lui, a priori.

  4. #4
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50
    Par défaut
    Merci pour votre aide,

    En fait, le code que je montre, fait partie de la classe 'ToysSoldForOneSellerTableModel' (je n'ai repris que le code concerné)et la ligne 91 représente la ligne 12 ici c-à-d 'ls.add(s);'

    Effectivement, 'ls' est null mais pour moi, ça ne change rien puisque le but ici est de la remplir (par ls.add(...))

  5. #5
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Heu ben si, ça change tout. tu veux remplir quoi, puisqu'il n'y a RIEN à remplir.

  6. #6
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50
    Par défaut
    je veux remplir ls (qui est vide mais c'est normal puisque je la déclare !) par des Supply, dont un certain attribut (Sold=boolean) est false (ce qui explique la boucle foreach...)
    Je comprends qu'avec une partie du code, c'est pas facile pour vous.

  7. #7
    Membre actif
    Profil pro
    100
    Inscrit en
    Juillet 2007
    Messages
    585
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : 100

    Informations forums :
    Inscription : Juillet 2007
    Messages : 585
    Points : 270
    Points
    270
    Par défaut
    ls n'est pas vide, ls est null.

    Ok tu as déclaré ls mais tu dois l'instancier avant de la remplir ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    List<Supply> ls = new ArrayList<>();

  8. #8
    Expert éminent sénior
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 481
    Points : 48 806
    Points
    48 806
    Par défaut
    Citation Envoyé par paesportcomputing Voir le message
    Je comprends qu'avec une partie du code, c'est pas facile pour vous.
    Si si c'est très facile à comprendre, et je vous ai donné la réponse: ls est null. donc il ne vaut rien, et on ne peux pas appeler une méthode (ici add) sur du rien. Il faut que ls vaille quelque chose. Une liste vide en sommes:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    ls = new ArrayList<Supply>();
    ls = new LinkedList<Supply>();
    ls = new Stack<Supply>();
    ls = new Vector<Supply>();
    au choix

  9. #9
    Membre du Club
    Inscrit en
    Janvier 2011
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Janvier 2011
    Messages : 100
    Points : 50
    Points
    50
    Par défaut
    Effectivement, c'est bien ça.
    Et je m'acharnais la-dessus depuis 1 jour.
    En fait, dans une autre classe, je remplis une List sans la déclaration 'ls = new ArrayList<Supply>();' et ça marchait. Mais je n'appelais pas de méthode (add par exemple) dessus directement.

    Je faisais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private List<Supply> ls;
     
    ls=facade.searchSuppliesForOneSeller();
    Encore merci pour l'aide.

    Marc

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

Discussions similaires

  1. Erreur java.lang.NullPointerException avec boîte à liste
    Par Halo2550 dans le forum Agents de placement/Fenêtres
    Réponses: 4
    Dernier message: 06/03/2013, 13h12
  2. Erreur "java.lang.NullPointerException" dans un ArrayList
    Par AmeniESC dans le forum Collection et Stream
    Réponses: 4
    Dernier message: 21/03/2012, 00h12
  3. Problème de "java.lang.NullPointerException" dans une JSP
    Par abdoulfall dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 11/02/2012, 04h46
  4. Injection d'EJB dans une appli web lance java.lang.NullPointerException
    Par Sylvain__A_ dans le forum Glassfish et Payara
    Réponses: 1
    Dernier message: 20/06/2011, 23h31
  5. erreur dans mon code "java.lang.NullPointerException"
    Par wiss20000 dans le forum Langage
    Réponses: 12
    Dernier message: 19/04/2007, 09h08

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