Buonasera..avrei due domande:
Ho creato una classe studente e devo al suo interno creare un compareTo rispetto alla matricola che è una stringa..dunque trattasi di un ordinamento lessicografico...
ma non so come devo fare ad implementarlo...io ho fatto così ma credo che sia sbagliato...
Qualcuno mi aiuta??
codice:
public class Studente implements Comparable {
private String matricola;
private String nome;
private LinkedList<String>preferenze;
public Studente(String matricola, String nome, LinkedList<String> preferenze) {
this.matricola = matricola;
this.nome = nome;
this.preferenze = preferenze;
}
public String getMatricola() {
return matricola;
}
public void setMatricola(String matricola) {
this.matricola = matricola;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public LinkedList<String> getPreferenze() {
return preferenze;
}
public void setPreferenze(LinkedList<String> preferenze) {
this.preferenze = preferenze;
}
@Override
public String toString() {
return "Studente [matricola=" + matricola + ", nome=" + nome
+ ", preferenze=" + preferenze + "]";
}
public boolean equals (Object o){
if(o instanceof Studente){
Studente s=(Studente)o;
return s.getMatricola().equals(this.getMatricola());
}
return false;
}
public int compareTo(Object o){
if(o instanceof Studente)
Studente s=(Studente)o;
return this.getNome().compareTo(s.getNome());
}
}
L' altra domanda==> come cambia il compareTo se a parità di matricola avessi dovuto ordinare rispetto al nome dello studente ??