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

Collection et Stream Java Discussion :

Acces à un ArrayList ou List depuis une autre classe.


Sujet :

Collection et Stream Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 12
    Points
    12
    Par défaut Acces à un ArrayList ou List depuis une autre classe.
    Bonjour,
    J'ai un problème d'acces sur un ArrayList<String> depuis une autre Classe.
    Eclipse de détecte aucun problème, javac non plus ,mais à l'execution
    je me retrouve avec une NullPointerException .
    Voila l'explication et le code :
    Class Traitement_donnees_serveur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    
    .......
    for(int i=3; i<index_fin;i++){
    						//On ajoute les actions dans la liste
    						try{
    												Client_tcp.liste_Action_courtier.add(messagedecoupe[i]);
    						}catch(Exception e){
    							e.printStackTrace();
    						}

    Classe Client_tcp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static ArrayList<String> liste_Action_courtier ;
    Si quelqu'un à la solution à mon problème sachant qu'elle ne doit pas être très compliquer , mais je sèche.

    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    268
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 268
    Points : 199
    Points
    199
    Par défaut
    NullPointerException car "liste_Action_courtier" n'est jamais initialisé.

    Essaie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public static ArrayList<String> liste_Action_courtier = new ArrayList<String>();
    Mais attention, l'initialisation ne sera fera qu'une fois, au chargement de la classe !

    Ou alors (lazy initialisation me semble-t-il)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for(int i=3; i<index_fin;i++){
    	//On ajoute les actions dans la liste
    	try{
    		if ( Client_tcp.liste_Action_courtier == null )
    			Client_tcp.liste_Action_courtier = new ArrayList<String>();
    		Client_tcp.liste_Action_courtier.add(messagedecoupe[i]);
    	}catch(Exception e){
    		e.printStackTrace();
    	}
    Mais pour moi, c'est moins propre, surtout avec un champ statique.
    Pensez au tag quand votre problème est réglé !

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 9
    Points : 12
    Points
    12
    Par défaut
    Ok merci beaucoup.C'est bien ce que je pensais c'était tout bête.

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

Discussions similaires

  1. [Cocoa] Accès à un attribut d'AppController depuis une autre classe
    Par valleix007 dans le forum Apple
    Réponses: 8
    Dernier message: 18/08/2010, 20h50
  2. Réponses: 2
    Dernier message: 13/04/2010, 19h28
  3. Réponses: 5
    Dernier message: 18/09/2008, 17h20
  4. Recuperer une liste (List) de valeur depuis une autre classe
    Par PasBoueno dans le forum Débuter avec Java
    Réponses: 10
    Dernier message: 22/07/2008, 14h53
  5. Acces a un control depuis une autre classe
    Par schnito dans le forum MFC
    Réponses: 5
    Dernier message: 25/01/2004, 22h14

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