here 등의 여러 위치에서 메서드 반환 형식에 바운딩 된 와일드 카드를 사용하는 것은 나쁜 생각입니다. 그러나, 나는 그것을 수업에서 피할 수있는 방법을 찾을 수 없다. 내가 놓친 게 있니? 영어 일부 변형에 출판물을 소비에 요약반환 형식의 Java 경계 와일드 카드
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>
에 만족할 것입니다.
방법이 있습니까?
Joshua Bloch의 "Effective Java"항목 28은 "리턴 유형으로 와일드 카드 유형을 사용하지 마십시오."라고 권장합니다. –