相关疑难解决方法(0)

在 Kotlin 中组合/合并数据类

有没有办法在不指定所有属性的情况下合并 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)

kotlin kotlin-reflect

4
推荐指数
2
解决办法
9973
查看次数

标签 统计

kotlin ×1

kotlin-reflect ×1