Methoden compare() und compareTo()

bluu7

Mitglied
Hallo!
Ich verstehe einfach nicht, inwiefern sich die beiden Methoden unterscheiden. Beide vergleichen Objekte und beide liefern einen negativen oder positiven Integer-Wert zurück.
In einer Übungsaufgabe haben wir einen eigenen Comparator geschrieben und erst per compare() einen Kundenstamm nach Anzahl der Rechnungen sortiert und dann - falls die Anzahl gleich ist - nach Nachnamen per compareTo() sortiert.
Aber wieso kann ich denn nicht einfach für alles compare() oder für alles compareTo() nehmen?

Wäre super, wenn mir jemand diesen Unterschied erklären könnte.

Grüße
 
compareTo ist eben Teil des Objekts selber und vergleicht sich selbst mit einem anderen Objekt.
compare vergleicht eben zwei Objekte miteinander.

compareTo wird eben genutzt um die natürliche Ordnung darzustellen. Wenn du z.b. eine Liste von Integern sortieren willst, geschieht das über die natürliche Ordnung, wodurch eben aufsteigend sortiert wird.
Es gibt nun aber natürlich auch Fälle, in denen du nicht nach der natürlichen Ordnung sortieren willst, weil du z.B. deine Liste absteigend anstatt aufsteigend sortieren willst, dafür nutzt du eben den Comparator und compare
 

Neue Themen


Zurück
Oben