我有以下 Kotlin 代码,这是对我的问题的简化:
val baseBuilder : Builder =
Builder("xx")
.setA("aa")
.setB("bb")
fun f(action: Action): Builder {
var extraBuilder = baseBuilder
.add(action)
return extraBuilder
}
如果我多次调用 f ,我最终会得到一个添加了许多操作的构建器,但我希望 f 返回一个只有一个操作的构建器。我无法更改该 Builder 类的实现。我想在 f 函数中制作 baseBuilder 的副本,但找不到方法。或者也许我可以通过其他方式实现我想要的?
最佳答案
使 baseBuilder
成为一个函数,而不是一个值。
fun baseBuilder() = Builder("xx").setA("aa").setB("bb")
fun f(action: Action): Builder) {
return baseBuilder().add(action)
}
关于java - 在 Kotlin 中克隆 Builder 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68120800/