我已经阅读过各种各样的地方,包括在方法返回类型中使用有界通配符是一个坏主意.但是,我无法找到一种方法来避免与我的班级.我错过了什么吗?
情况看起来像这样:
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;
}
}
Run Code Online (Sandbox Code Playgroud)
总之,我希望能够使用某些版本的英语版本的类.该类需要允许从外部访问该发布,但理想情况下,调用者getPublication
不希望将结果作为有界通配符.他们会很高兴Publication<English>
.
这有什么方法吗?