【发布时间】:2019-05-17 22:07:29
【问题描述】:
Kotlin 的新手。我有一个哈希图,它将为其中一个键保存一个数组。但是,当我读取该键的值时,Kotlin 并未将其识别为数组。
我的哈希图:
var myHashMap = hashMapOf("test" to arrayOf<HashMap<String, Any>>())
读取数组:
var testString = "__ ${myHashMap["test"].count()} __"
当我尝试读取值时出现类型不匹配错误。我以不正确的方式将数组存储在 hashmap 中?
我的 hashmap 是 HashMap 类型。我现在只是指定值的类型,稍后将动态存储实际值。
所以稍后当我阅读 myHashMap["test"] 时,我会期待类似 ["Hello": "World", "ABC": 3]
编辑:添加我的解决方案
我试过了,它现在可以工作,但检查是否有更好的解决方案。
var tests = task["test"] as ArrayList<HashMap<String, Any>>
var testCount = tests.count()
另外,如果我现在想继续向 myHashMap["test"] 添加值,我会将现有值存储到 var 中,向其添加新值,然后将其传递给 myHashMap["test"]。
tests.add(someHashMap)
myHashMap["test"] = tests
有更快的方法来实现这一点吗?
【问题讨论】: