一、Kotlin 的 data class 与 Java 中的普通类(POJO)相比,确实大大减少了样板代码(boilerplate),但它的优势不止于自动生成 getter/setter、copy()、equals()、toString(),还有更深层的设计理念。
二、我的项目中一般用作bean类:
data class BaseResponse<T> (val code: String, val msg: String, val data: T)
1、一行就定义了一个完整的、有值语义的对象。
2、对于“只是用于存储数据”的类,data class 就是最好的选择。
三、使用场景示例:
val user1 = User(1, "Tom")
val user2 = user1.copy(name = "Jerry")
// user1 仍然是原值,user2 仅 name 不同
val (id, name) = user2
println("ID=$id, NAME=$name")
// 输出:ID=1, NAME=Jerry