Я заканчиваю упражнение Kotlin Koans Сравнение и задаюсь вопросом, почему compareTo()
переопределяет функцию, а compare()
это используемая функция.
Как работают две функцииотноситесь сюда?
data class MyDate(val year: Int, val month: Int, val dayOfMonth: Int) : Comparable<MyDate> {
override fun compareTo(otherDate: MyDate): Int = when {
year != otherDate.year -> year - otherDate.year
month != otherDate.month -> month - otherDate.month
else -> dayOfMonth - otherDate.dayOfMonth
}
}
fun compare(date1: MyDate, date2: MyDate) = date1 < date2