类型不匹配:推断类型是T但kotlin.Any是预期的

时间:2016-04-20 13:37:06

标签: kotlin

我有以下代码:

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,为什么会出现这个错误?

1 个答案:

答案 0 :(得分:18)

T在此函数中可以为空。您应该明确指出它不可为空。

fun <T : Any> test(t: T) = map.put(0, t)