3 回答

TA貢獻(xiàn)1719條經(jīng)驗(yàn) 獲得超6個(gè)贊
根據(jù)文檔: https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html
Every Kotlin class has Any as a superclass.
話(huà)雖這么說(shuō) - 適配器采用的類(lèi)需要從 ViewHolder 擴(kuò)展。

TA貢獻(xiàn)1966條經(jīng)驗(yàn) 獲得超4個(gè)贊
RecyclerView.Adapter<Any>
相當(dāng)于 Java?RecyclerView.Adapter<Object>
,但與RecyclerView.Adapter<?>
.?特別是,如果你有類(lèi)似的東西
class?AnAdapter?extends?RecyclerView.Adapter<SomeType>
then是(在 Java 中)AnAdapter
的子類(lèi)型,而不是( )的子類(lèi)型。因此,您不能將 的實(shí)例傳遞給需要 的子類(lèi)型的方法。RecyclerView.Adapter<*>
?
RecyclerView.Adapter<Any>
Object
AnAdapter
RecyclerView.Adapter<Any>

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
RecyclerView.Adapter 的類(lèi)型必須是 ViewHolder 或 ViewHolder 子類(lèi)。這是在類(lèi)中定義的,您不能將其范圍擴(kuò)展到 Any 或 Object。這將違背泛型的目的。通過(guò)使用星形投影,它會(huì)自動(dòng)使用類(lèi)定義的最大邊界<out ViewHolder>/<in Nothing>
。
添加回答
舉報(bào)