Skip to content

值对象

POJO

以联系信息举例:

kotlin
class ContactInfo(
  val name: String,
  val mobile: String
)

这样就实现了一个不可变的值对象。因为有命名参数的存在,构造函数参数太长也不会导致难用。使用方式如下:

kotlin
val contactInfo = ContactInfo(mobile = "12312341234", name = "张三")

data class

还可以使用 data class 如下,

kotlin
data class ContactInfo(
  val name: String,
  val mobile: String
)

自动获得默认的 equals hashcode toString 函数的实现,还提供析构赋值能力,如下:

kotlin
val (name, mobile) = contactInfo