我在访问此动物对象内部构建的字典/地图中的值时遇到困难:
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()中的值?
最佳答案
更改此行:
var animalInfo = mutableMapOf<String,Any>()
进入
var animalInfo = mutableMapOf<String,MutableMap<String, out Any>>()
并改变
val module = dataDict["Animal"]
进入
val module = dataDict["Animal"]!!
并将
mutableListOf
更改为mutableMapOf
应该可以解决此问题(总共3次更改)。