Mit dem Interface
Comparable<T>
wird ausgedrückt, dass die Objekte der Klasse
Datum
eine natürliche Ordnung haben, sie also sortierbar sind.
Der Typparameter
T
ist mit der Klasse
Datum
belegt,
denn es sollen nur
Datum
-Objekte untereinander verglichen werden.
Siehe dazu die Implementierung der Ordnungsrelation ab Zeile 100.
compareTo
ist die einzige Methode im Interface
Comparable<T>
.
Weil der Typparameter
T
in Zeile 11 mit
Datum
belegt wurde,
hat der Methodenparameter den Typ
Datum
. Anders als bei
equals
ist deshalb keine Laufzeittypprüfung mit
instanceof
mit anschließender
Typanpassung erforderlich (siehe zum Vergleich Zeile 83 bis 85).
Die Klassenmethode
Integer.compare
liefert die Ordnung zweier ganzer Zahlen in der von
compareTo
benötigten Kodierung,
d.h. eine 0 bei Gleichheit, eine negative Zahl, wenn das erste Argument kleiner ist
und eine Zahl größer 0 sonst.