Kotlin中的Data Class

发布时间 2023-08-08 23:26:40作者: jqc

Data Class

Kotlin中的Data Class主要用于封装和持有数据,作用类似Java中的POJO对象。

 data class User(nickname: String, sex: Int, age: Int)

class之前加上 data 关键字即可声明一个Data Class。

Kotlin中编译器会自动为Data Class实现

  • equals()方法
  • hashcode()方法
  • toString()方法
  • componentN()解构声明方法
  • copy()方法

我们可以实现自己的equals()方法、hashcode()方法和toString()方法来覆盖自动生成的实现。但是对于 componentN() 方法和copy()方法是不允许覆盖的。
copy() 方法用于实现对Data Class对象的浅拷贝。

同时,对于Data Class还有如下限制:

  • 主构造函数必须至少拥有一个参数
  • 主构造函数的所有参数都必须使用 var 或者 val 关键字修饰
  • Data Class不能使用 openabstractsealedinner 关键字修饰