亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

從 Java 重構到 Kotlin,遇到泛型問題

從 Java 重構到 Kotlin,遇到泛型問題

神不在的星期二 2023-02-23 11:14:23
任何人都可以幫助將此類重構為 Kotlin,但在泛型對話方面遇到麻煩。模型:abstract class ViewHolderDataBinder<DM : ViewHolderDataModel,        VH : RecyclerView.ViewHolder>(val viewType: Int) {    abstract fun createViewHolder(parent: ViewGroup): VH    abstract fun bindView(model: DM, holder: VH)}想要轉換為 Kotlin 的 Java 代碼:SparseArray<ViewHolderDataBinder> viewHolderDataBinders = new SparseArray<>();我想將其重構為  val viewHolderDataBinders = SparseArray<ViewHolderDataBinder>()但是 Kotlin 需要在ViewHolderDataBinder.有沒有辦法不添加類型參數,因為在 Java 中沒有必要?更新如果我使用private val viewHolderDataBinders = SparseArray<ViewHolderDataBinder<*, *>>()然后在這里出錯binder.bindView(item, holder)它說item并holder要求Nothing但是Found......
查看完整描述

1 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

您可以使用此*符號來允許將任何對象添加到數組中。

val viewHolderDataBinders = SparseArray<ViewHolderDataBinder<*, *>>()


查看完整回答
反對 回復 2023-02-23
  • 1 回答
  • 0 關注
  • 164 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號