首页 > 解决方案 > 为什么kotin在使用中缀时不能推断出类型?

问题描述

class DATA<T>

public  fun <T> add1(t1:T,t2:T): List<T> =  listOf(t1, t2)

public  infix fun <T> T.add2(t2:T): List<T> =  listOf(this, t2)

fun printData(list: List<DATA<String>>) {
    println("Hello World!")
}

fun main(args: Array<String>) {
    printData( add1(DATA(), DATA()) )
    printData( DATA() add2 DATA())    //why this line can not compile?
}

如上代码所示,当我使用中缀函数时,无法正确推断类型,并产生编译错误,为什么 kotlin 不支持呢?

标签: genericskotlininfix-operator

解决方案


推荐阅读