1 dictionary compiler-errors kotlin
我使用 Kotlin 中的两个可变字符串列表创建了一个映射:
val mapNames = mutableMapOf(Pair(initList, nameList))
Run Code Online (Sandbox Code Playgroud)
当我尝试访问我尝试过的键之一的值时
print(mapNames.get("BB")) and print(mapNames["BB"])它会抛出错误
错误:类型推断失败。类型参数 K 的值应该在输入类型(参数类型、接收者类型或预期类型)中提及。尝试明确指定它。
这两个列表都是字符串列表,我只是想简单地返回与该键关联的值。我尝试将其类型显式指定为 String,但仍然抛出错误。我想知道我错过了什么?
您尚未创建Map<String, String>. 您已经创建了一个Map<List<String>, List<String>>. 映射中唯一的键是initList,它对应于值nameList。这显然不是你想要的。您希望 in 中的每个事物initList与 in 中的每个事物相匹配nameList并在地图中形成一个条目,这样您就得到了Map<String, String>,对吧?
为此,您应该zip列出以下列表:
val mapNames = initList.zip(nameList).toMap(mutableMapOf())
Run Code Online (Sandbox Code Playgroud)
zip这里创建一个List<Pair<String, String>>, 并将mutableMapOf该列表中的每一对转换为一个映射条目。然后您就可以按预期访问地图了。
| 归档时间: |
|
| 查看次数: |
2908 次 |
| 最近记录: |