Sottotipi di Comparable ed eccezioni
nell’implementazione di CompareTo in tutte le classi che implementano Comparable, bisogna analizzare un po’ di casi eccezionali
- l’argomento è null
- l’argomento ha un tipo che non è un sottotipo di Comparable
- l’argomento ha un tipo che è un sottotipo di Comparable, ma il tipo di this e quello dell’argomento sono incompatibili tra loro
- sia Integer che String sono sottotipi di Comparable
- x.compareTo(s), con x Integer e s String non ha senso
in tutti questi casi, salvo il primo, compareTo deve sollevare ClassCastException
altra situazioni in cui “errori di tipo” non possono essere scoperti dal compilatore e diventano Eccezioni a run time