Auf Thema antworten

Ja, den Comparator nutze ich auch immer gerne, aber doch bitte nicht so!


Deinen Comparator muss man gar nicht so als Klasse schreiben, denn Comparator bietet die Funktionalität um das ganz einfach auszudrücken:

[CODE=java]Comparator<SatzDatenbank>

    .comparing(SatzDatenbank::getDb)

    .thenComparing(SatzDatenbank::getSrv)[/CODE]


Das ist doch viel kürzer und viel einfacher zu lesen, oder?


Und das ändert natürlich nichts daran, dass eine Klasse, die eine natürliche Ordnung haben soll, Comparable<T> implementiert. Dann hat die Klasse ein [ICODE]public static Comparator<T> NATURAL_ORDER_COMPARATOR = Comparator.comparing(....).thenComparing(...);[/ICODE]

Und die Methode compareTo ruft dann nur NATURAL_ORDER_COMPARATOR.compare(.....) auf.



Oben