Groovy hat den Raumschiffoperator <=>
, der eine einfache Möglichkeit bietet, Vergleiche zu implementieren. Wie kann ich es auf eine groovigere Art und Weise als den Code darunter ketten? In diesem Beispiel möchte ich die Artikel zuerst nach Preis und dann nach Name vergleichen, wenn beide den gleichen Preis haben.Wie kann ich den Raumschiffbetreiber von groovy für die Multilevel-Sortierung verketten?
class Item implements Comparable {
int price
String name
int compareTo(Item other) {
int result = price <=> other.price
if (result == 0) {
result = name <=> other.name
}
return result
}
}