"Apfel", "Orange", "Pflaume".
Das ist die Reihenfolge in der compareTo()
die Strings sortieren würde.
Comparable<T>
Eine Schnittstelle besteht aus Konstanten und Methodendeklarationen.
Die Comparable<T>
Schnittstelle besteht nur aus einer Methode (und enthält keine Konstante):
int compareTo(T obj)Vergleiche das Objekt, das die Methode ausführt, mitobj
, welches vom TypT
ist. Gibt einen negativen Integer, 0 oder einen positiven Integer zurück, wenn das Objekt, das die Methode ausführt, kleiner, gleich oder größer alsobj
ist.
T
steht für den Typ der Objekte.
Wenn die Objekte String
s sind, dann ist T
vom Typ String
.
String
s implementieren die Schnittstelle Comparable<String>
.
Wenn ein Objekt von einer Klasse ist, die Comparable
implementiert,
dann ist dieses Objekt entweder kleiner, gleich oder größer als ein anderes Objekt dieser Klasse.
Die Methode compareTo()
gibt einen Integer zurück, um zu zeigen, welche der drei Relationen zutrifft.
Relation | objektA.compareTo (objektB) | ||
---|---|---|---|
objektA | Kleiner als | objektB | Negativer Integer |
objektA | Gleich | objektB | Null |
objektA | Größer als | objektB | Positiver Integer |
Sagt uns compareTo()
genug?
Wenn zwei beliebige Objekte verglichen werden und das Ergebnis kleiner als, gleich oder größer als ist, reicht das aus, um eine Sammlung von Objekten zu ordnen?