Kotlin中的复制方法需要哪些参数



我有这个接口,我希望它能够像数据类一样使用复制方法。所以我将抽象复制方法定义为。

interface Fizzbuzz {
fun clone(params: WhatShouldBeDefinedHere?): Fizzbuzz
}

因此实现将是

data class Foobar(...): Fizzbuzz {
override fun clone(...): Fizzbuzz {
return this.copy(...)
}
}

但是需要什么样的参数呢?

它将参数作为data class的字段。例如,如果您有以下数据类:

data class FooBar(field1: String, field2: Int)

该方法具有签名:

fun copy(field1: String = this.field1, field2: Int = this.field2)

参考:https://kotlinlang.org/docs/data-classes.html#copying

最新更新