关于泛型的问题


#1


网上看了段关于泛型的代码,有个点现在理解不了
在main函数中,第二行代码的yes变量应该是 BooleanExt类型,接着用yes调用otherwise时,对应的泛型类型也应该是String,实参应该是()->Stirng类型的函数,但实际调用的是()->Int的lamada表达式,这样程序也能正常运行,Int与String不存在继承关系,也不符合协变的情况,为什么可以 yes.otherwist{123} 调用呢?


#2

没看错的话,yes 是 BooleanExt<Any> 类型的


京ICP备16022265号-2 Kotlin China 2017 - 2018