Несоответствие типов: выводимый тип-T, но Котлин.Любой ожидался
У меня есть следующий код:
val map = HashMap<Int, Any>()
fun <T> test(t: T) = map.put(0, t) // Type mismatch: inferred type is T but kotlin.Any was expected
но каждый класс Kotlin имеет любой как суперкласс, так почему эта ошибка?
1 ответов
T
является nullable в этой функции. Вы должны явно указать, что он не является nullable.
fun <T : Any> test(t: T) = map.put(0, t)