要创建一个具有双重成员的 Kotlin 数据类,您可以遵循以下步骤:
Person的数据类,并具有姓名和年龄属性。data class Person(val name: String, val age: Int)
Comparator对象,用于比较两个Person对象。您可以使用compareBy函数和thenBy函数来实现多个条件的比较。在这个示例中,我们首先按照姓名进行比较,然后按照年龄进行比较。val personComparator = compareBy { it.name }.thenBy { it.age }
Person对象进行比较。val person1 = Person("Alice", 25)
val person2 = Person("Bob", 30)
personComparator来比较两个Person对象。您可以使用compare函数将两个对象传递给personComparator。val result = personComparator.compare(person1, person2)
result为负数,则person1小于person2;如果result为正数,则person1大于person2;如果result为零,则person1等于person2。if (result < 0) {
println("${person1.name} 小于 ${person2.name}")
} else if (result > 0) {
println("${person1.name} 大于 ${person2.name}")
} else {
println("${person1.name} 等于 ${person2.name}")
}
完整的示例代码如下所示:
data class Person(val name: String, val age: Int)
val personComparator = compareBy { it.name }.thenBy { it.age }
fun main() {
val person1 = Person("Alice", 25)
val person2 = Person("Bob", 30)
val result = personComparator.compare(person1, person2)
if (result < 0) {
println("${person1.name} 小于 ${person2.name}")
} else if (result > 0) {
println("${person1.name} 大于 ${person2.name}")
} else {
println("${person1.name} 等于 ${person2.name}")
}
}
输出结果将根据比较结果显示不同的消息。在这个示例中,输出将是Alice 小于 Bob。