Нуб в Котлин. У меня есть хэш-карта, которая будет содержать массив для одного из ключей. Однако когда я читаю значение этого ключа, Kotlin не распознает его как массив.
Моя хэш-карта:
var myHashMap = hashMapOf("test" to arrayOf<HashMap<String, Any>>())
Чтение массива:
var testString = "__ ${myHashMap["test"].count()} __"
Я получаю сообщение об ошибке несоответствия типа, когда пытаюсь прочитать значение. Я неправильно храню массив в 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
Есть ли более быстрый способ добиться этого?