Не удается создать экземпляр связанного списка интерфейса как связанного списка класса, который реализует интерфейс - PullRequest
0 голосов
/ 04 декабря 2018

У меня есть:

LinkedList<Interface> fred = new LinkedList<Class>();

, где Interface и Class - имена интерфейсов и классов соответственно, но java дает мне ошибку несоответствия типов.Мой класс реализует интерфейс и успешно содержит все функции, вызываемые интерфейсом.

Почему это не работает?

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Вы ищете:

LinkedList<Interface> fred = new LinkedList<>();

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

LinkedList<Interface> fred = new LinkedList<Class>();
0 голосов
/ 04 декабря 2018

Вы можете сделать это:

LinkedList<MyInterface> fred = new LinkedList<>();

Рекомендуемый подход:

List<MyInterface> fred = new LinkedList<>();
...