Я хочу, чтобы подпись метода выглядела так:
public <? extends IDto> convertToResponseDto();
Я придумал это из действительной подписи, которая выглядит следующим образом:
public List<? extends IDto> convertToResponseDto();
Как оказалосьType <? extends IDto>
не является допустимым типом возврата.Я чувствую, что намерение того, что я пытаюсь вернуть, совершенно ясно, но я не уверен, что правильный синтаксис
РЕДАКТИРОВАТЬ
На этот вопрос ответил @ErwinBolwidt, но дает новую проблему в случае использования.У меня есть случай, когда я использую дженерики:
protected final <E extends IDto> E findOneInternal(final Long id) {
return getService().findOne(id).convertToResponseDto();
}
В этом случае convertToResponseDto () возвращает IDto, а не конкретный класс, так как он не известен в этой точке, потому что он получает службу типа T