返回类型中的 Java 有界通配符
2022-09-02 21:52:52
我已经在包括这里在内的各个地方读到过,在方法返回类型中使用有界通配符是一个坏主意。但是,我找不到一种方法来避免我的班级。我错过了什么吗?
情况如下所示:
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>
有没有办法解决这个问题?