Я читал в разных местах, включая здесь, что наличие ограниченного шаблона в методе возвращаемого типа - плохая идея. Однако я не могу найти способ избежать этого с помощью моего класса. Я что-то пропустил?
Ситуация выглядит примерно так:
class EnglishReaderOfPublications {
private final Publication<? extends English> publication;
EnglishReaderOfPublications(Publication<? extends English> publication) {
this.publication = publication;
}
void readPublication() {
publication.omNomNom();
}
Publication<? extends English> getPublication() {
return publication;
}
}
В заключение, класс, который я хочу, чтобы иметь возможность использовать любую публикацию, которая в некотором варианте для английского. Класс должен разрешить доступ к публикации извне, но, в идеале, вызывающие элементы getPublication
не хотели бы, чтобы результат был ограниченным подстановочным знаком. Они были бы довольны Publication<English>
.
Есть ли способ обойти это?