Use*_*291 3 generics android types type-inference kotlin
继Kotlin for Android Developers本书中,我们遇到的扩展功能
fun <T:Any> SelectQueryBuilder.parseList(parser: (Map<String,Any?>) -> T):List<T> = parseList(object:MapRowParser<T>{
override fun parseRow(columns: Map<String, Any?>): T = parser(columns)
})
Run Code Online (Sandbox Code Playgroud)
而且我不确定为什么这:Any是必要的。
如果我把它写成fun <T> SelectQueryBuilder.parseList(...),Android Studio 会抱怨
而当您添加:Any后,该错误就会消失。
现在,就我而言,T应该暗示T:Any,尽管显然情况并非如此。这是为什么?它有什么区别?