Java- erreur ArrayList

Résolu
Bonjour, je suis en train de programmer un petit annuaire en implémentant la collection arraylist.
Mais j'ai une erreure dans ma méthode ajouterNumero ... si quelqu'un pouvait m'aider ...

import java.util.*;


public class Personne {
	String nom;
	String prenom;
	Collection <String> lesNumeros;
	
	public Personne (String nom, String prenom){
		this.nom=nom;
		this.prenom=prenom;
		ArrayList<String> lesNumeros = new ArrayList<String>();
	}
	
	public void ajouterNumero(String num){
		if(!lesNumeros.contains(num)){lesNumeros.add(num);}
	}
	
	public void afficherNum(){
		Iterator<String> iter= lesNumeros.iterator();
		while(iter.hasNext()){System.out.print(iter.next());}
	}
	
	void setNom(String name){nom=name;}
	void sePrenom(String p){prenom=p;}
	String getNom(){return nom;}
	String getPrenom(){return prenom;}
}


et la classe utilisatrice :

public class Util {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		Personne p = new Personne("Simon",Reter");
		p.ajouterNumero("0698995986");
		p.afficherNum();
		
	}

}


Merci beaucoup !
Configuration: Windows XP
Firefox 3.0.13

1 réponse

  1. Contributeur
    Bonjour,

    Ton erreur vient de ton constructeur, lors de l'initialisation de la collection :
    ArrayList<String> lesNumeros = new ArrayList<String>();
    


    Avec ce code tu déclare une variable 'lesNumeros' locale au constructeur, mais en aucun cas n'instancie ta variable d'objet 'lesNumeros'.

    Corrige donc en supprimant le 'ArrayList<String>' devant pour avoir ceci :
       this.lesNumeros = new ArrayList<String>();
    


    Et pour être plus clair, je serai toi je créerai également des getters / setters pour cette propriété.