Ciao ho un dubbio su Comparable e Comparator.
Allora Comparable effettua un ordinamento naturale tra l'oggetto che esegue il metodo e quello specificato dall'argomento mentre Comparator effettua solo un ordinamento totale.Qui sorge il dubbio:Comparable non può effettuare un ordinamento naturale su oggetti di tipo int?Cioè se ho:
codice:
class Libro1 implements Comparable<Libro1> {
private String titolo;
private int annoPubblicazione;
public Libro1(String titolo, int annoPubblicazione) {
this.titolo = titolo;
this.annoPubblicazione = annoPubblicazione;
}
public String getTitolo() {
return titolo;
}
public int getAnnoPubblicazione() {
return annoPubblicazione;
}
public String toString() {
return titolo + ", " + annoPubblicazione;
}
public int compareTo(Libro1 altroLibro) {
return getAnnoPubblicazione().compareTo(altroLibro.getAnnoPubblicazione());
}
}
Il compilatore non riconosce l'int;quindi con Comparable posso usare solo tipi riferimento(es:String),mentre con Comparator solo tipi primitivi(es:int)?