Kotlin 數(shù)據(jù)類在創(chuàng)建后不能直接修改其屬性值。數(shù)據(jù)類主要用于創(chuàng)建不可變的數(shù)據(jù)對象,它們會自動生成一些通用方法,如 equals()
、hashCode()
和 toString()
等。
如果你需要修改數(shù)據(jù)類的屬性值,可以采取以下方法:
MutableDataClass
(在 Kotlin 1.4 及更高版本中可用)。這樣,你可以直接修改屬性值。data class MutableDataClass(var property: String)
copy()
方法:創(chuàng)建一個新的數(shù)據(jù)類實(shí)例,并將原始實(shí)例的屬性值復(fù)制到新實(shí)例中,然后修改新實(shí)例的屬性值。data class DataClass(val property: String) {
fun updateProperty(newProperty: String): DataClass {
return copy(property = newProperty)
}
}
請注意,使用 copy()
方法會創(chuàng)建一個新的數(shù)據(jù)類實(shí)例,而不是修改原始實(shí)例。這有助于保持?jǐn)?shù)據(jù)的不可變性和安全性。