La classe OrderedList
Comparable è un supertipo che si assume definito prima dei sottotipi che lo implementano (elementi di OrderedList)
specifica e implementazione simili a quelle di OrderedIntList
- argomenti e risultati sono Comparable invece che int
- il confronto è fatto usando compareTo
OrderedList assicura che gli elementi della lista siano omogenei
- necessario, perché compareTo solleva un’eccezione se gli oggetti non sono confrontabili
il tipo degli elementi nella lista è determinato dall’inserimento del primo elemento
- se la lista diventa vuota il tipo può cambiare con l’aggiunta di un nuovo elemento
il metodo addEl assicura che il primo elemento sia comparabile rigettando il tentativo di aggiungere alla lista null