问题描述
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)