Всем привет. Пишу плагин для Jira, в переопределяемом
override
методе требуется что бы метод возвращал тип:
List<IssueAction>
List
и
IssueAction
это интерфейсы.
Я погуглил и нашел пример возвращаемого значения, он был такой:
return Lists.newArrayList(
new GenericMessageAction("Запись 1"),
new GenericMessageAction("Запись 2")
);
GenericMessageAction
- Это класс, который реализует интерфейс
IssueAction
newArrayList
функция из
com.google.common.collect.Lists
возвращающая
ArrayList
который реализует интерфейс
List
То есть, получается что передавая экземпляры
GenericMessageAction
в список, метод
newArrayList
мне возвращает
ArrayList<GenericMessageAction>
Тогда я решил вернуть список через переменную и вернуть, вот так:
ArrayList<GenericMessageAction> list = Lists.newArrayList(
new GenericMessageAction("Запись 1"),
new GenericMessageAction("Запись 2")
);
return list;
Так Java не дает мне вернуть list, т.к. типы не совпадают.
Но я не понимаю почему, ведь требуется вернуть интерфейсы
List<IssueAction>
, я возвращаю
ArrayList<GenericMessageAction>
, где
ArrayList
реализует
List
а
GenericMessageAction
реализует
IssueAction
, вот и получается
List<IssueAction>
.
Что я делаю не так?