Mam ten kod:metoda java powrocie instancję klasy <T rozciąga somethng>
public <T extends Scrapper> Class<T> getScrapper() {
return MyScrapper.class;
}
MyScrapper
jest klasa wykonawczych Scrapper
interfejs. Dlaczego to nie działa? Otrzymuję następujący błąd w JDK7:
error: incompatible types
required: Class<T>
found: Class<MyScrapper>
where T is a type-variable:
T extends Scrapper declared in method <T>getScrapper()
P.S. Szczerze próbowałem szukać całych 30-40 minut.
Aktualizacja: jeśli zgłoszę metodę jako public Class<? extends Scrapper> getScrapper() {
to działa. ale nadal nie rozumiem, dlaczego oryginalna deklaracja się nie kompilowała. co jest z tym nie tak?
Co się stanie, jeśli po prostu ustawisz na –
ControlAltDel
tak jak sugerujesz, to nie powinno działać. ale spróbowałem czegoś innego i zadziałało. Zaktualizowałem pytanie: –
Tak, jestem zmęczony. Chodziło mi o zmianę tylko na Scrappera (nierównomiernie), ale masz go do pracy używając argumentów klasowych i jeśli to pasuje do twoich celów na – ControlAltDel