首页 > 解决方案 > Kotlin Unchecked 演员表:有吗?到 Map(String, String> 解释?

问题描述

我是 Kotlin 的新手,想知道是否有人可以解释这个警告以及如何纠正它?

下面的代码片段使“as Map”文本在 Android Studio 中突出显示,并带有以下消息:

未经检查的演员表:有吗?映射(字符串,字符串>

建议的修复告诉我使其通用并<*, *>代替<String, String>.

但是,如果这样做,则 val 不是正确的类型。

无论如何,我在代码的各个地方都有这个。它似乎不会导致问题和代码功能,但我担心我可能需要在发布之前更正此问题。

任何帮助和解释都会非常有帮助。

DBManager.sharedInstance.getAvailability(mMarkerData.mMarkerUser!!) { avail ->
    val availability = avail as Availability
    val availabilityChoices = availability["availabilityChoices"] as Map<String, String>

    .
    .
    .
}

更新:

getAvailability乐趣定义如下:

fun getAvailability(user: ParseUser = ParseUser.getCurrentUser(), success: (Availability) -> Unit)

availabilityChoices 在模型类中定义如下:

var availabilityChoices by ParseDelegate<Map<String, String>>()

标签: androidkotlin

解决方案


推荐阅读