Hej,
zastanawia mnie dlaczego w takiej sytuacji dostaję błąd niezgodności typu.
Jeżeli oczekuje kolekcji czarodziejów to dlaczego nie mogę dać kolekcji gandalfów ?
Dlaczego tak się dzieje, z czego to wynika ?

Hej,
zastanawia mnie dlaczego w takiej sytuacji dostaję błąd niezgodności typu.
Jeżeli oczekuje kolekcji czarodziejów to dlaczego nie mogę dać kolekcji gandalfów ?
Dlaczego tak się dzieje, z czego to wynika ?

Z tego, ze kolekcje Javowe nie sa kowariantne.
List<String> nie jest podtypem List<Object>. Mozesz w metodzie przyjac
List<? extends Wizard> - powinno zadzialac.
Tematy: java generics, wildcard, covariance/contravariance
Rozwijajac nieco dlaczego to co napisałeś nie ma sensu:
List<String> stringi = new ArrayList<>();
stringi.add("dupa");
List<Object> obiekty = stringi; //?!
obiekty.add(1);
I nagle lista stringi która jest List<String> miałaby w sobie inta i byłoby to troche smutne.