L’interfaccia Comparable
public interface Comparable {
// OVERVIEW: i sottotipi di Comparable forniscono un metodo
// per determinare la relazione di ordinamento fra i loro
// oggetti; l’ordinamento deve essere totale e, ovviamente,
// transitivo e simmetrico; infine
// x. compareTo (y) == 0 implica x. equals (y)
public int compareTo (Object x) throws ClassCastException, NullPointerException;
// EFFECTS: se x è null, lancia NullPointerException;
// se this e x non sono confrontabili, solleva ClassCastException;
// altrimenti, se this è minore di x ritorna -1;
// se this = x ritorna 0; se this è maggiore di x, ritorna 1