проекции не допускаются для непосредственных аргументов супертипа Kotlin Android Studio

Я получаю эту ошибку, когда конвертирую 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 говорит следующее:

проекции не допускаются для непосредственных аргументов супертипа

Что мне нужно изменить здесь?


person user3124306    schedule 18.05.2017    source источник


Ответы (1)


Используйте Any для быстрого исправления или введите параметр типа, чтобы убедиться, что вы не нарушаете безопасность типов библиотеки.

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

or

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

Проблема в том, что kotlin требует, чтобы типы классов были полностью указаны, поэтому вы можете либо указать конкретный тип в качестве параметра типа, либо передать новый параметр типа.

person Kiskae    schedule 18.05.2017