Android:fireStore中将可映射的数组转换为对象存在问题。”
创始人
2024-10-13 12:00:29
0

下面的代码演示了如何将可映射的数组转换为对象:

// 定义一个可映射的接口
interface Mappable {
    fun toMap(): Map
}

// 创建一个带有toObjects()函数的扩展方法
inline fun  Iterable>.toObjects(): List {
    return map { map ->
        val constructor = T::class.constructors.first()
        val arguments = constructor.parameters.map { parameter ->
            map[parameter.name!!] ?: parameter.defaultValue
        }
        constructor.call(*arguments.toTypedArray())
    }
}

// 使用toObjects()函数将可映射的数组转换为对象列表
val objectList: List = fireStoreResult.map { result ->
    MyObject(
        result["name"] as String,
        result["age"] as Int
    )
}.toObjects()

// MyObject类实现了Mappable接口
class MyObject(val name: String, val age: Int): Mappable {
    override fun toMap(): Map {
        return mapOf(
            "name" to name,
            "age" to age
        )
    }
}

这个代码片段中我们定义了一个可映射的接口,接口中包含一个toMap()函数。然后,我们创建了一个扩展方法toObjects(),该方法将可映射的数组转换为对象列表。最后,我们创建了一个实现了Mappable接口的MyObject类,并使用toObjects()函数将fireStoreResult转换为MyObject列表。

相关内容

热门资讯

科技揭秘!aapoker透视脚... 1、科技揭秘!aapoker透视脚本入口,pokerrrr2辅助,系统教程(有挂技巧);详细教程。2...
热点讨论!pokemmo脚本辅... 热点讨论!pokemmo脚本辅助下载,hhpoker怎么开透视,透牌教程(有挂方法);人气非常高,a...
专业讨论!wepoker破解是... 1、专业讨论!wepoker破解是真的还是假的,hhpoker破解工具,安装教程(有挂透明)。2、w...
一分钟教你!pokemmo手机... 一分钟教你!pokemmo手机辅助软件,hhpoker有没有辅助,2025新版技巧(有挂教程)1、很...
科技分享!uupoker有透视... 科技分享!uupoker有透视吗,wepoker模拟器哪个,安装教程(有挂透视);《WPK辅助透视》...
推荐一款!德普之星辅助工具如何... 推荐一款!德普之星辅助工具如何打开,pokemmo脚本最新版,2025版教程(有挂透明)是一款可以让...
我来教大家!wepoker怎么... 《我来教大家!wepoker怎么发冤家牌,wepoker私局代打,第三方教程(有挂辅助)》 wepo...
分享一款!购买wepoker模... 分享一款!购买wepoker模拟器,aapoker怎么选牌,wpk教程(有挂技巧);1.购买wepo...
重大推荐!拱趴大菠萝作弊方法,... 《重大推荐!拱趴大菠萝作弊方法,拱趴大菠萝万能辅助器,切实教程(有挂攻略)》 拱趴大菠萝万能辅助器软...
总算了解!hardrock作弊... 总算了解!hardrock作弊,cloudpoker作弊,必备教程(有挂透明)准备好在cloudpo...