Вы можете использовать общие символы , чтобы разрешить использование производных списков в качестве базовых списков:
public List<? extends Shape> getShapes() { ... }
Обратите внимание, что возвращенный список не может иметьк нему добавлены нулевые элементы .(Как указывает г-н Зауэр, вы можете добавить null
, и удаление также подойдет.) Это компромисс, хотя, надеюсь, это не будет иметь значения в вашем случае.
, поскольку getShapes()
переопределение, вам также необходимо обновить тип возвращаемого значения в Repository
.