为了账号安全,请及时绑定邮箱和手机立即绑定

将地图转换为数据类

将地图转换为数据类

aluckdog 2021-07-23 18:15:18
Kotlin 中是否有一种简单的方法可以让我将 Map 转换为任意数据类?我试图转换的地图具有数据类所需字段的所有键。我四处寻找,但找不到任何似乎以非常通用的方式谈论这样做的事情。我知道我可以使用ObjectMapper,但这需要一个额外的库。寻找仅在 Kotlin 中可用的东西。
查看完整描述

3 回答

?
MMMHUHU

TA贡献1834条经验 获得超8个赞

为什么不只使用地图委托?


class MyData(val map: Map<String, String>) {

    val foo by map

    val bar by map

}

或者您可以使用伴随对象包装它并使用 MyData.from(mymap)


data class MyData(val foo: String, val bar: String) {

    companion object {

        fun from(map: Map<String, String>) = object {

            val foo by map

            val bar by map


            val data = MyData(foo, bar)

        }.data

    }


查看完整回答
反对 回复 2021-07-29
  • 3 回答
  • 0 关注
  • 107 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信