Generics Kotlin无法通过方法引用推断函数的类型
为什么在下面的示例中,使用Generics Kotlin无法通过方法引用推断函数的类型,generics,kotlin,types,Generics,Kotlin,Types,为什么在下面的示例中,使用mapTwoKotlin无法推断a的类型 fun <U> mapOne(f: (Int) -> U): U = TODO() fun <U> mapTwo(f: Function<Int, U>): U = TODO() fun <T> mapper(a: T): List<T> = TODO() fun main() { mapOne(::mapper) mapTwo(::mappe
mapTwo
Kotlin无法推断a
的类型
fun <U> mapOne(f: (Int) -> U): U = TODO()
fun <U> mapTwo(f: Function<Int, U>): U = TODO()
fun <T> mapper(a: T): List<T> = TODO()
fun main() {
mapOne(::mapper)
mapTwo(::mapper) //won 't compile
}
funmapone(f:(Int)->U:U=TODO()
funmaptwo(f:函数):U=TODO()
乐趣映射器(a:T):List=TODO()
主要内容(){
mapOne(::mapper)
mapTwo(::mapper)//无法编译
}
类型推断不是编译错误的原因mapTwo(::mapper)
也不会编译,因为::mapper
具有类型(T)->列表(KFunction1
),该类型不可分配给函数