在 Kotlin 中,数据类(data class)会自动生成一些通用方法,如 equals()
、hashCode()
、toString()
和 copy()
。这些方法是根据数据类中的属性自动生成的。要创建一个数据类,只需在类名前加上 data
关键字即可。
例如,创建一个简单的数据类 Person
:
data class Person(val name: String, val age: Int)
在这个例子中,name
和 age
是属性。当创建了这个数据类后,Kotlin 会自动生成以下方法:
equals()
:比较两个对象是否相等。hashCode()
:返回对象的哈希码。toString()
:返回对象的字符串表示形式。copy()
:创建一个新的对象,并将原对象的属性值复制到新对象中。你可以像下面这样使用这些自动生成的方法:
fun main() {
val person1 = Person("Alice", 30)
val person2 = Person("Alice", 30)
val person3 = Person("Bob", 25)
println(person1 == person2) // 输出 true
println(person1 == person3) // 输出 false
println(person1.hashCode()) // 输出某个哈希码值
println(person1.toString()) // 输出 "Person(name=Alice, age=30)"
val person4 = person1.copy(age = 31)
println(person4) // 输出 "Person(name=Alice, age=31)"
}
注意,如果你需要为数据类添加自定义方法,可以在类体中添加函数。这些方法不会自动生成,需要手动实现。