Mam zamieszanie w następujących deklaracji dwa metoda:Czy <U, T przedłuża U> i <T, U super T> nie są takie same?
private <U, T extends U> T funWorks(T child, U parent) {
// No compilation errors
}
private <T, U super T> T funNotWorks(T child, U parent) {
// compilation errors
}
nie powinno oba powyższe być ważne? Z analogią Jeśli U jest rodzicem T, to T jest potomkiem U. Dlaczego drugi daje błąd kompilacji?
EDYTOWANIE :: Sądzę, że T extends T
i T super T
oba są ważne. dobrze ?
Podejrzewam, że 'T przedłuża U' oznacza 'T> = U' gdzie' U super T' oznacza 'U
EJP
Powinieneś rzucić okiem na [ten wątek] (http://stackoverflow.com/questions/ 1368166/co-jest-różnica między super-e-a-extends-e) – DayS
@DayS: To jest? - byle co. Rozumiem, że. Ale co w przypadku T i U? –