LinkedList come attributo?

di il
3 risposte

LinkedList come attributo?

Salve ragazzi, sono alle prime armi con la programmazione Java e scrivendo un programmino mi trovo di fronte a qualche problema.
Ho una classe Cliente con attributi nome, cognome e telefono e una classe Elenco che leggendo gli attributi della classe cliente da un file esterno deve darmi un elenco con tutti i clienti appunto.
Questa classe Elenco ha un metodo leggiClientiDaFile() che dovrebbe restituire l'elenco completo.
Il mio professore mi ha detto di aggiungere elenco come attributo, ma all'interno del metodo andando ad aggiungere l'oggetto cliente alla LinkedList, tramite elenco.add(cl), il risultato è quest'errore java.lang.NullPointerException.
La soluzione sarebbe creare la lista all'interno del metodo ma in questo modo non sarebbe più attributo. Qualcuno saprebbe aiutarmi?! Sono a rischio esaurimento!!!!! Grazie mille!

3 Risposte

  • Re: LinkedList come attributo?

    Ciao, a senso da quanto descrivi, l'errore credo sia dato dal fatto che la variabile elenco non è inizializzata, cioè nella classe Elenco dovresti avere
    LinkedList<Cliente> elenco = new LinkedList<Cliente>();
    PS.: nel metodo che recupera i dati dei clienti e li inserisce nella lista, come prima istruzione, ti consiglio di mettere :
    elenco.clear();
    in modo da svuotare la lista.

    Saluti,
    Michele.
  • Re: LinkedList come attributo?

    Ciao Michele, intanto grazie per la risposta e poi volevo chiederti anche un'altra cosa già che ci siamo.
    Dato che le liste che ottengo devono essere degli attributi, è sbagliato dichiararle direttamente così nella classe elenco?
        private LinkedList<Cliente> elenco = new LinkedList();
  • Re: LinkedList come attributo?

    Scusa ma non capisco cosa vuoi dire. La differenza tra la mia e la tua dichiarazione sta solo nel modificatore private al posto di public, ma cmq. elenco resta un attributo della classe Elenco.
Devi accedere o registrarti per scrivere nel forum
3 risposte