我有以下代码:
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
但是every Kotlin class has Any as a superclass,为什么会出现这个错误?
答案 0 :(得分:18)
T
在此函数中可以为空。您应该明确指出它不可为空。
fun <T : Any> test(t: T) = map.put(0, t)