Kotlin 应用函数与数据类

问题描述

我有一个这样的数据类 -

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

我想使用 apply 作用域函数修改值并返回修改后的对象。

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

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

解决方法

您可以将 copy 方法与 data 类一起使用:

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

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