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 :

Problème avec null & Vector


Sujet :

Collection et Stream Java

  1. #1
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Points : 68
    Points
    68
    Par défaut Problème avec null & Vector
    Bonsoir!
    Petit problème pour comprendre l'origine de l'erreur...
    voici le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	public Carte tashaute() {
    		if (this.tas!=null) {
    			return this.tas.lastElement();
    		} else {
    			return null;
    		}
    	}
    Et voici le message d'erreur :
    Exception in thread "main" java.util.NoSuchElementException
    at java.util.Vector.lastElement(Unknown Source)
    at Joueur.tashaute(Joueur.java:41)

    La ligne 41 correspond à celle du premier return.
    Je ne comprends pas pourquoi cela me renvoit un tel message puisque j'ai inseré une ligne de securité verifiant si le tas est null ou pas. Donc a priori, à la ligne 41 il n'est pas null, donc on doit pouvoir lui appliquer une methode de vector (car tas est un objet de la classe LesCartes, elle meme classe fille de Vector<Carte>) non?

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Points : 37
    Points
    37
    Par défaut
    re,

    tas peut ne pas etre null, mais ne rien contenir...

    essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    	public Carte tashaute() {
    		if (this.tas!=null && this.tas.size()!=0) {
    			return this.tas.lastElement();
    		} else {
    			return null;
    		}
    	}

  3. #3
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Points : 68
    Points
    68
    Par défaut
    merci de venir une fois de plus à mon secours!
    Effictivement je n'ai plus le message d'erreur, peux tu m'expliquer un peu plus en détail pourquoi ce que j'ai fait ne fonctionne pas? Quelle est la difference entre "null" et ne rien contenir?

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Points : 37
    Points
    37
    Par défaut
    de rien.

    Si tu fais :

    Carte tas;

    tas est pour l'instant null

    si ensuite tu le crée :

    tas = new Carte();

    il est plus null, mais il contient rien tant que t'as pas fait tas.add(machin);

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 35
    Points : 37
    Points
    37
    Par défaut
    Ah et au fait, j'ai oublié de te dire.

    L'utilisation de la classe Vector est déconseillée, au profit de la classe ArrayList.
    (voir javadoc ou sur les forums par ici je pense, mais bon)

  6. #6
    Membre du Club
    Inscrit en
    Mars 2008
    Messages
    81
    Détails du profil
    Informations forums :
    Inscription : Mars 2008
    Messages : 81
    Points : 68
    Points
    68
    Par défaut
    ok merci pour tout!
    Je vais regarder ça, mais je ne changerai pas le programme que j'ai fait ça serait trop embetant... Je le ferai sur un prochain programme pour l'instant je m'interesse aux problèmes persistants de mon programme!

  7. #7
    Provisoirement toléré
    Profil pro
    Inscrit en
    Février 2008
    Messages
    439
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 439
    Points : 495
    Points
    495
    Par défaut
    Citation Envoyé par MiXinG Voir le message
    Effictivement je n'ai plus le message d'erreur, peux tu m'expliquer un peu plus en détail pourquoi ce que j'ai fait ne fonctionne pas? Quelle est la difference entre "null" et ne rien contenir?
    Un vecteur vide est un état particulier d'un vecteur, si la référence est nulle c'est qu'il n'y a pas de vecteur du tout.

    C'est comme la différence entre un verre vide et pas de verre.

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

Discussions similaires

  1. problème avec null
    Par HighSchool2005 dans le forum Langage
    Réponses: 6
    Dernier message: 26/04/2007, 11h13
  2. Problème avec la classe Vector.
    Par kaelem dans le forum Langage
    Réponses: 10
    Dernier message: 28/12/2006, 09h19
  3. Code : problème avec Null
    Par mat75019 dans le forum Access
    Réponses: 4
    Dernier message: 02/05/2006, 15h01
  4. [gsoap] Problème avec les std::vector
    Par LePhasme dans le forum SL & STL
    Réponses: 1
    Dernier message: 25/04/2006, 11h46
  5. Problème avec NULL
    Par Fiquet dans le forum Débuter
    Réponses: 5
    Dernier message: 26/10/2005, 13h40

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