В Groovy есть оператор космического корабля <=>
, который обеспечивает простой способ реализации сравнений. Как я могу связать его более плавным образом, чем код ниже? В этом примере я хочу сначала сравнить товары по цене, а затем по имени, если они имеют одинаковую цену.
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
}
}