“对超类型”Kotlin Android Studio的即时论证不允许进行预测

时间:2017-05-18 22:51:12

标签: java android android-studio kotlin kotlin-android-extensions

当我将Java转换为Kotlin时,我收到了这个错误:

爪哇

public class HeaderTab extends ExpandableGroup {
    private String header;

    public HeaderTab(String title, List items) {
        super(title, items);
    }
}

科特林

class HeaderTab(title: String, items: List<*>) : ExpandableGroup<*>(title, items) {
    private val header: String? = null
}

Android Studio说:

  对于超类型

的立即参数,

不允许投影

我需要在这里修改什么?

1 个答案:

答案 0 :(得分:9)

使用Any进行快速修复,或引入类型参数以确保您不会破坏图书馆的类型安全。

class HeaderTab(title: String, items: List<*>) : ExpandableGroup<Any>(title, items) {

class HeaderTab<E>(title: String, items: List<E>) : ExpandableGroup<E>(title, items) {

问题是kotlin需要完全指定类类型,因此您可以将特定类型指定为类型参数,也可以传递新的类型参数。

相关问题