android - 不支持通用通配符类型

标签 android firebase kotlin google-cloud-firestore

我收到以下错误:

Could not deserialize object. Generic wildcard types are not supported (found in field m1(Map<String,Any>).someStringInM1(String))

此错误由以下行生成(我使用的是 Firestore 的 Android SDK):

task.result.toObjects(SomeClass::class.java)

我在其中尝试将结果映射到具有以下构造函数的自定义类的列表:

constructor(s1: String, s2: String, d1: Double, m1: Map<String, Any>, dr1: DocumentReference, i1: Int, d2: Double) {
        this.s1 = s1
        this.s2 = s2
        this.d1 = d1
        this.m1 = m1
        this.dr1 = dr1
        this.i1 = i1
        this.d2 = d2
    }

最佳答案

release notes对于 Firebase SDK,它提到了版本 11.6.0:

Feature: Added support for deserializing field types with wildcard generic parameters (e.g. kotlin.Map).

听起来您应该将客户端库升级到 11.6.0。

关于android - 不支持通用通配符类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47190759/

相关文章:

java - 如何让定时器在点击时停止

Android GPS 云之惑!

java - Android 弹出窗口与可变文本

Linux 中的 Android Studio 模拟器错误

android - 如何理解和改进协程中的async-await?

android - kotlin协程磁盘违规严格模式

ios - 在 iOS 的 Firebase 测试实验室中测试无密码身份验证

java - 如何正确解析 Firebase DataSnapshot 值

AngularFire2 在 Typescript 中获取经过身份验证的用户 ID

java - 递归方法调用在 kotlin 中会导致 StackOverFlowError,但在 java 中不会