为了账号安全,请及时绑定邮箱和手机立即绑定

从 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 关注
  • 131 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信