以使用替代的方式来减少繁琐。比如,data class 有 copy()方法,可以直接copy出一个与原对象相同数据的对象,也可以传递某些参数
时间: 2024-09-09 08:15:20 浏览: 42
在 Kotlin 中,`data class` 是一种特殊的类,它内置了一些便利的功能,其中一个就是 `copy()` 方法。这个方法允许你在创建新的对象时,仅需指定希望改变的属性值,其他保持不变,从而避免了手动复制构造函数或逐个字段赋值的繁琐。通过调用 `copy()` 方法,你可以快速生成一个新的对象,示例如下:
```kotlin
data class Person(val name: String, val age: Int)
fun main() {
val person = Person("Alice", 30)
// 创建一个新的Person对象,只改变名字
val newPerson = person.copy(name = "Bob")
println(newPerson) // Person(name=Bob, age=30)
// 如果只想保留name并使用默认年龄,可以这样简化
val newPerson2 = person.copy(age = 0) // 使用data class的默认初始值
println(newPerson2) // Person(name=Alice, age=0)
}
```
阅读全文