在java中,我定义了一个类
public abstract class AdapterItem<T extends AdapterItem> {}
然后,我把这个类的数据放到列表中
List<AdapterItem> topics
我必须提供&#34;主题&#34;到kotlin课程
我的班级是:
class ShareDialogFragment(val mTopics: List<AdapterItem>) {}
但是我收到了一个错误:&#34;类型参数是必需的&#34;。我必须将List<AdapterItem>
更改为List<AdapterItem<out AdapterItem>>
,而不是结束。我仍然得到错误。因为AdapterItem仍然需要类型争论。我的解决方案是将其替换为List<AdapterItem<TopicItem>>
(topicItem是AdapterItem的子类)
但情况更糟。有人有解决方案吗?
答案 0 :(得分:4)
如果后续代码中未使用泛型类型参数,则可以使用star-projection:
class ShareDialogFragment(val mTopics: List<AdapterItem<*>>) {}