Estoy completando el ejercicio de comparación de Kotlin Koans y me pregunto por qué compareTo() es la función que se anula, pero compare() es la función que se usa.
¿Cómo se relacionan aquí las dos funciones?
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 < date2La función compare() allí solo muestra un marcador de posición "cómo usar compareTo() " sin un significado real. Puede cambiarlo a otros nombres como desee.
¿Cómo se relacionan aquí las dos funciones?
Una función con nombre aleatorio compare() llama a la función compareTo() de MyDate con el símbolo de comparación < .