跳到主內容

【Kotlin】data class

Data Class vs 一般 Class

  1. 自動生成的方法

    • Data Class: Kotlin 編譯器會自動生成 equals()hashCode()toString() 等方法。
  2. 一般 Class: 需要手動實現這些方法,或者使用 IDE 的插件來生成。

不可變性

  • Data Class: 可以聲明為 val 型,使其成員變量成為只讀。
一般 Class: 需要額外的設計來實現不可變性,如使用 private 成員變量並提供 getter 方法。

Component 函数

  • Data Class: Kotlin 可以通過 componentN() 函數來分解對象。
一般 Class: 需要手動定義這些分解函數。