Kotlin:如何创建数据 class 的新实例并进行更改

Kotlin: How do you make a new instance of a data class with changes

我有一个科特林数据class:

data class MyCats (
) {
    val name: String = "",
    val female: Boolean = false,
    val fixed: Boolean = false
}

以我对Kotlin的理解(还是新手),我可以实例化这个class,一次性设置好它的所有参数,比如

val morris = MyCats("Morris")

现在假设我修复了莫里斯。我无法更改 morris.fixed 的值,因为它是一个 val。但是我可以创建一个新对象。如何使用 morris 的所有值创建一个新对象,但将 fixed 设置为 true?

当然,我可以手动完成所有操作,但我认为 Kotlin 的全部意义在于将程序员从那种样板代码中解救出来。

调用copy函数:

morris.copy(fixed = true)