ArrayList()

di il
2 risposte

ArrayList()

Buonasera
Non riesco ad utilizzare correttamente il metodo indexOf() della classe ArrayList()

Ho definito un ArrayList nel seguente modo:
ArrayList<Prenotazione> p=new ArrayList();

Prenotazione é una classe con due attributi privati (nome, numero)

dopo aver definito un oggetto di tipo prenotazione:
System.out.println("Inserisci nome: ");
n=input.readLine();
System.out.println("Inserisci numero d'ordine: ");
line=input.readLine();
h=Integer.parseInt(line);
Prenotazione pre = new Prenotazione(n,h);


utilizzo questa istruzione a=p.indexOf(pre); per cercare l'oggetto nella lista.
mi ritorna sempre -1.

2 Risposte

  • Re: ArrayList()

    Non capisco molto, avresti la consegna completa?
  • Re: ArrayList()

    mary71 ha scritto:


    Non riesco ad utilizzare correttamente il metodo indexOf() della classe ArrayList()

    utilizzo questa istruzione a=p.indexOf(pre); per cercare l'oggetto nella lista.
    mi ritorna sempre -1.
    Il indexOf() delle liste usa internamente il equals() degli oggetti per determinare se uno degli oggetti nella lista è "uguale" a quello che stai cercando.
    Se la tua classe Prenotazione NON ridefinisce appropriatamente il metodo equals(Object), se nella lista hai un oggetto Prenotazione X e cerchi con un altro oggetto Prenotazione Y, anche se Y ha gli stessi dati .... non lo troverai mai.
    Va ridefinito equals.
Devi accedere o registrarti per scrivere nel forum
2 risposte