有没有办法在不指定所有属性的情况下合并 kotlin 数据类?
data class MyDataClass(val prop1: String, val prop2: Int, ...//many props)
Run Code Online (Sandbox Code Playgroud)
具有以下签名的函数:
fun merge(left: MyDataClass, right: MyDataClass): MyDataClass
Run Code Online (Sandbox Code Playgroud)
这个函数检查两个类的每个属性,它们不同的地方使用 left 参数来创建一个新的 MyDataClass。
使用 kotlin-reflect 或其他方法可以实现吗?
编辑:更清晰
这是我想要做的更好的描述
data class Bob(
val name: String?,
val age: Int?,
val remoteId: String?,
val id: String)
@Test
fun bob(){
val original = Bob(id = "local_id", name = null, age = null, remoteId = null)
val withName = original.copy(name = "Ben")
val withAge = original.copy(age = 1)
val withRemoteId = original.copy(remoteId = "remote_id") …Run Code Online (Sandbox Code Playgroud)