复制
一个比较常用的场景就是我们需要复制一个对象并改变其一些属性,但是保持剩下的属性不变。这就是copy()函数被生成的原因。
data class User(val name: String = "", val age: Int = 0)
对于上述的User类的copy()方法将会是如下形式:
fun copy(name: String = this.name, age: Int = this.age) = User(name, age)
这允许我们这样书写:
val jack = User(name = "Jack", age = 1)
val olderJack = jack.copy(age = 2)