Kotlin 应用函数与数据 class

Kotlin apply function with data class

我有一个这样的数据class -

data class User(val id: String, val name: String)

我想使用 apply 范围函数来修改值和 return 修改后的对象。

User("1", "Name").apply {
   this.id = "2" // Gives me error since val cannot be assigned
}

我不想让我的数据 class 不可变,也不想使用 copy 函数。我该如何解决这个问题?

您可以使用 copy 方法 data 类:

val user1 = User("1", "Name")
val user2 = user1.copy(id = "2")

这样改data class User(var id: String, var name: String)