rieccomi, purtroppo in questi giorni non ho potuto lavorarci su ma vorrei sapere, prima di continuare, se nel frattempo ho implementato bene Comparable
codice:
public class DatiAnagrafici implements Comparable{
String nome, cognome, data;
int giorno, mese, anno;
public DatiAnagrafici(String nome, String cognome, int giorno, int mese, int anno) {
this.nome = nome;
this.cognome = cognome;
this.giorno = giorno;
this.mese = mese;
this.anno = anno;
}
public String getNome() {
return nome;
}
public void setNome(String nome) {
this.nome = nome;
}
public String getCognome() {
return cognome;
}
public void setCognome(String cognome) {
this.cognome = cognome;
}
public int getGiorno() {
return giorno;
}
public void setGiorno(int giorno) {
this.giorno = giorno;
}
public int getMese() {
return mese;
}
public void setMese(int mese) {
this.mese = mese;
}
public int getAnno() {
return anno;
}
public void setAnno(int anno) {
this.anno = anno;
}
public int compareTo(Object obj) throws ClassCastException{
if (!(obj instanceof DatiAnagrafici)) {
throw new ClassCastException();
}
DatiAnagrafici compara = (DatiAnagrafici) obj;
if (getAnno() - compara.getAnno() != 0)
return getAnno()-compara.getAnno();
if (getAnno() - compara.getAnno() == 0) {
if (getMese() - compara.getMese() != 0)
return getMese() -compara.getMese();
if (getMese() - compara.getMese() == 0) {
if (getGiorno() - compara.getGiorno() != 0)
return getGiorno() - compara.getGiorno();
if (getGiorno() - compara.getGiorno() == 0) {
return (getCognome().compareTo(compara.getCognome()));
}
}
}
return getNome().compareTo(compara.getNome());
}
}