Ошибка: ошибка ввода типа

Я пытаюсь написать приложение Android Kotlin, но я получил ошибку ниже. Где я ошибся?

Вот как я объявил свой HashMap:

var mParent: MutableMap<*, *> ?= null mParent = HashMap() 

Ошибка:

Ошибка вывода типа. Недостаточно информации для вывода параметра K в конструкторе HashMap. Пожалуйста, укажите это явно

    Вы должны указать типы ключа и значение карты. Что-то вроде этого:

     mParent = HashMap<String, String>() 

    Или вот так:

     var mParent: MutableMap<String, String>? = null mParent = HashMap() 

    Наличие * в качестве общего параметра означает, что любой тип объекта разрешен как ключ и значение. Поэтому, когда вы создаете HashMap, компилятор понятия не имеет, какой именно тип ключа и значение – он не может набирать. Вот почему вы получаете такую ​​ошибку.

    Предложение: mapOf() Котлина предлагает использовать метод mapOf() или mutableMapOf() для создания карты, а не использования стиля Java HashMap ():

     mParent = mutableMapOf<String, String>() 

    Вы можете использовать HashMap вот так в котлин ….

     val context = HashMap<String, Any>() context.put("world", "John") context.put("count", 1) context.put("tf", true) 

    Если вы не уверены, какие будут ваши ключи и значения, то используйте Any .

     var mParent: MutableMap<Any, Any> ?= mutableMapOf() 

    В вашем случае компилятор не уверен, что означают эти aestriks.

    Intereting Posts