溫馨提示×

Kotlin數(shù)據(jù)類怎樣自動生成方法

小樊
82
2024-10-31 06:20:50
欄目: 編程語言

在 Kotlin 中,數(shù)據(jù)類(data class)會自動生成一些通用方法,如 equals()hashCode()toString()copy()。這些方法是根據(jù)數(shù)據(jù)類中的屬性自動生成的。要創(chuàng)建一個數(shù)據(jù)類,只需在類名前加上 data 關(guān)鍵字即可。

例如,創(chuàng)建一個簡單的數(shù)據(jù)類 Person

data class Person(val name: String, val age: Int)

在這個例子中,nameage 是屬性。當創(chuàng)建了這個數(shù)據(jù)類后,Kotlin 會自動生成以下方法:

  1. equals():比較兩個對象是否相等。
  2. hashCode():返回對象的哈希碼。
  3. toString():返回對象的字符串表示形式。
  4. copy():創(chuàng)建一個新的對象,并將原對象的屬性值復制到新對象中。

你可以像下面這樣使用這些自動生成的方法:

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)"
}

注意,如果你需要為數(shù)據(jù)類添加自定義方法,可以在類體中添加函數(shù)。這些方法不會自動生成,需要手動實現(xiàn)。

0