我在访问此动物对象内部构建的词典/地图中的值时遇到了困难:
object Animals {
var animalInfo = mutableMapOf<String,Any>()
init {
animalInfo["Animal"] = mutableListOf("description" to "Large Mammal", "name" to "Elephant", "highlights" to arrayListOf("Long Trunk", "Flappy Ears", "Ivory Tusks"))
}
}
Swift是我的第一语言,我试图访问这样的值,但没有使用可选的绑定:
val dataDict = Animals.animalInfo
val animal = dataDict["Animal"]
println(animal["description"])
println(animal["name"])
println(animal["highLights"])
所有println行都有一个未解决的引用错误。如何正确访问mutableMapOf()中的值?
答案 0 :(得分:1)
更改此行:
var animalInfo = mutableMapOf<String,Any>()
到
var animalInfo = mutableMapOf<String,MutableMap<String, out Any>>()
并更改
val module = dataDict["Animal"]
到
val module = dataDict["Animal"]!!
并将mutableListOf
更改为mutableMapOf
应解决此问题(总共3次更改)。