Сортировка объектов по двойным значениям? - PullRequest
4 голосов
/ 04 августа 2009

Сортировка объектов достаточно проста путем смешивания в порядке и предоставления функции сравнения (), как показано здесь . Но что, если ваше значение сортировки - Double вместо Int?

def Сравнение (что: MyClass) = this.x - that.x

, где x - это Double, приведет к ошибке компилятора: "несоответствие типов; найдено: Double required: Int"

Есть ли способ использовать Double для сравнения вместо приведения в Ints?

1 Ответ

8 голосов
/ 04 августа 2009

Самый простой способ - делегировать compare реализацию RichDouble (в которую ваш Double будет неявно преобразован):

def compare(that : MyClass) = x.compare(that.x)

Преимущество этогоподход заключается в том, что он работает одинаково для всех примитивных типов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...