Natknąłem się na niezgodne typy błędów, których przyczyny nie rozumiem.Typy niekompatybilne z generics
Dlaczego ten fragment kodu jest nieprawidłowy?
List<List<String>> a = new ArrayList<>();
List b = a; // is ok
List<List> c = a; // incompatible types
Mam to, ale dlaczego druga linia nie daje błędu czasu kompilacji, ponieważ może to prowadzić do tych samych błędów w czasie wykonywania co trzeci wiersz? –
To jest właśnie powód, dla którego powinieneś preferować generics nad surowymi typami. Ogólny kod gwarantuje bezpieczeństwo typu w tym przypadku, surowy kod nie. – Seb