[我正在为RecyclerView
编写扩展功能以将LayoutManager
和Adapter
设置为RecyclerView
。该功能应接受从RecyclerView.Adapter<Any>
扩展的任何Adapter类,就像Java中一样,我们使用RecyclerView.Adapter<?>
。如何在Kotlin中做到这一点?
internal fun <T : RecyclerView.Adapter<Any>> RecyclerView.initAndSetAdapter(context: Context, adapter: T) {
this.layoutManager = LinearLayoutManager(context)
this.setHasFixedSize(true)
this.adapter = adapter
}
由于类型无效,对此方法的函数调用未编译。但是如果我将Any
更改为*
,则它可以正常工作。
internal fun <T : RecyclerView.Adapter<*>> RecyclerView.initAndSetAdapter(context: Context, adapter: T) {
this.layoutManager = LinearLayoutManager(context)
this.setHasFixedSize(true)
this.adapter = adapter
}
[为什么方法调用没有用Any
类编译?.Kotlin中的每个类都像Java Any
类一样扩展了Object
类吗?