kotlin的泛型必须写类型参数

时间:2016-03-29 09:54:11

标签: generics kotlin

在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的子类)

但情况更糟。有人有解决方案吗?

1 个答案:

答案 0 :(得分:4)

如果后续代码中未使用泛型类型参数,则可以使用star-projection

class ShareDialogFragment(val mTopics: List<AdapterItem<*>>) {}