【Kotlin】data class
Data Class vs 一般 Class
-
自動生成的方法
- Data Class: Kotlin 編譯器會自動生成
equals()、hashCode()、toString()等方法。 - 一般 Class: 需要手動實現這些方法,或者使用 IDE 的插件來生成。
- Data Class: Kotlin 編譯器會自動生成
-
不可變性
- Data Class: 可以聲明為
val型,使其成員變量成為只讀。 - 一般 Class: 需要額外的設計來實現不可變性,如使用
private成員變量並提供getter方法。
- Data Class: 可以聲明為
-
Component 函数
- Data Class: Kotlin 可以通過
componentN()函數來分解對象。 - 一般 Class: 需要手動定義這些分解函數。
- Data Class: Kotlin 可以通過