我在很多地方都读到过,包括here,在方法返回类型中使用有界通配符不是一个好主意。然而,我找不到一种方法来避免它与我的类。我是不是遗漏了什么?
情况看起来像这样:
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>
感到满意的。
有什么办法可以解决这个问题吗?
https://stackoverflow.com/questions/8966502
复制相似问题