Quindi la tua implementazione non è corretta, in quanto devi basarla sul campo di istanza matricola.Originariamente inviato da lorenzcollixx
devo al suo interno creare un compareTo rispetto alla matricola che è una stringa
Originariamente inviato da lorenzcollixx
L' altra domanda==> come cambia il compareTo se a parità di matricola avessi dovuto ordinare rispetto al nome dello studente ??In questo caso la chiave matricola ha una priorità maggiore rispetto alla chiave nome.codice:public int compareTo(Object o) { if ( o == null || !(o instanceof Studente) ) throw new RuntimeException(); Studente s = (Studente) o; if ( !this.matricola.equals(s.matricola) ) return this.matricola.compareTo(s.matricola); return this.nome.compareTo(s.nome); }
N.B. Se utilizzi la versione 5, ti conviene specificare Studente come parametro di tipo per l'interfaccia Comparable, così ti risparmi il controllo del tipo e cast.

Rispondi quotando