Kotlin 中数据类的自动 `toString()` 方法实现

Kotlin 中数据类如何实现自动生成的 toString() 方法

在 Kotlin 中,数据类(data class)是一种特殊的类,它自动为你提供了几个东西,包括 equals()hashCode()*toString()* 方法。当你声明一个类为 data class 时,Kotlin 编译器会自动为你生成这些方法。

对于 *toString()* 方法,Kotlin 会生成一个包含所有属性值的字符串表示。这个字符串是通过将每个属性的名称和值拼接在一起形成的,属性之间用逗号和空格分隔,整个字符串以类名开头,后面跟着括号包含的属性列表。

下面是一个简单的数据类示例,以及它自动生成的 *toString()* 方法的样子:

1
2
3
4
5
6
data class Person(val name: String, val age: Int)

fun main() {
val person = Person("Alice", 30)
println(person.toString()) // 输出: Person(name=Alice, age=30)
}

在这个例子中,Person 类是一个数据类,它有两个属性:nameage。当你调用 person.toString() 时,Kotlin 自动生成的 *toString()* 方法会返回一个字符串,格式如上所示,包含了类的名称和属性名及其对应的值。