Kotlin:如何使用更改创建数据类的新实例

问题描述

我有一个kotlin数据类:

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

据我了解Kotlin(还是新手),我可以实例化此类并立即设置其所有参数,例如

val morris = MyCats("Morris")

现在让我们解决莫里斯的问题。我无法更改morris.fixed的值,因为它是一个值。但是我可以创建一个新对象。如何用morris的所有值创建一个新对象,但将其固定值设置为true?

当然,我可以手动完成所有操作,但我认为Kotlin的全部目的是使程序员免于这种样板代码

解决方法

调用copy函数:

morris.copy(fixed = true)