我正在完成Kotlin Koans的Comparison练习,并且想知道为什么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
答案 0 :(得分:1)
compare()
函数中仅一个占位符显示“如何使用compareTo()
”,而没有实际含义。您可以根据需要将其更改为其他名称。
这两个功能在这里如何关联?
随机命名的函数compare()
使用比较器符号MyDate
调用compareTo()
的{{1}}函数。