Несовместимые типы при использовании списка обобщенных классов c в интерфейсе - PullRequest
0 голосов
/ 30 апреля 2020

Я использую java 1.8 и получаю эту ошибку несовместимости.

public interface AVCR<T extends ACRI> {
    List<CRTIL<T>> getLists();
}

public class CRTIL<T extends ACRI> {
}

class BV {
    public AVCR<? extends ACRI> getDeafult() {
       return;
    }

    public List<CRTIL<? extends ACRI>>
        getTypeLists() {
        return getDefault().getLists();
        //Incompatible types
    }

}

Ошибка компилятора: найдено

List<? extends CRTIL<? extends ACRI>>

и требуется

List<CRTIL<? extends ACRI>>

1 Ответ

0 голосов
/ 30 апреля 2020

Я не уверен, правильно ли я понимаю ваш вопрос, поскольку вы не предоставляете минимальный рабочий пример, но я пытаюсь:

Вы можете изменить сигнатуру метода getTypeLists следующим образом

public List<? extends CRTIL<? extends ACRI>> getTypeLists()

, поскольку вы возвращаете список типа ? extends CRTIL<? extends ACRI>, а не типа CRTIL<? extends ACRI>.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...