Kotlin的泛型必须写入类型参数
在java中,我定义了一个类
public abstract class AdapterItem<T extends AdapterItem> {}
然后,我把这个类的数据列表
List<AdapterItem> topics
而且我必须把这些“主题”交给一个kotlin班
而我的课是:
class ShareDialogFragment(val mTopics: List<AdapterItem>) {}
但我得到一个错误:“类型参数是必需的”。 我不得不将List<AdapterItem>
更改为List<AdapterItem<out AdapterItem>>
,而不是结束。 我仍然有错误。因为AdapterItem仍然需要类型的争论。 我的解决方案是将其替换为List<AdapterItem<TopicItem>>
(topicItem是AdapterItem的子类)
但更糟糕的是 任何人都有解决办法?
如果后续代码中没有使用泛型类型参数,则可以使用星型投影 :
class ShareDialogFragment(val mTopics: List<AdapterItem<*>>) {}