Open bennyhuo opened 5 years ago
kotlin 版本 : 1.5.30
deepCopy 测试失败
inline fun <reified T : Any> T.deepCopy(): T {
...
if ((parameter.type.classifier as KClass<*>)?.isData == true) {
parameter to value?.deepCopy() // cannot be recursive
} else {
...
}
}
kotlin 版本 : 1.5.30
deepCopy 测试失败
inline fun <reified T : Any> T.deepCopy(): T { ... if ((parameter.type.classifier as KClass<*>)?.isData == true) { parameter to value?.deepCopy() // cannot be recursive } else { ... } }
请详细描述一下你的问题
我的错误,我将 this::class 写成 T::class 了;
all thing goes well
https://www.bennyhuo.com/2018/12/02/deepcopy/
前不久 JetBrains 在北京搞了一次技术大会,我在演讲当中提到了一个叫 DeepCopy 的库,那么我们今天就来详细说说它。我们有什么拷贝的需求?我们知道 Kotlin 的 data class 出厂自带了一套 copy 方法,这个 copy 方法呢,就是实打实的一个浅拷贝,例如:1data class GitUser(val name: String)它的 copy 方法其实就相当于:12