Junior — Middle
Co brání použití základních datových typů v parametrech generik?
sobes.tech AI
Odpověď od AI
V jazyce Java jsou generika implementována pomocí vymazání typů (type erasure), což znamená, že informace o typech generických parametrů nejsou dostupné za běhu.
Proto nelze používat primitivní typy (int, boolean atd.) jako generické parametry, protože nejsou objekty a nemohou být reprezentovány jako třídy.
Například je nesprávné psát:
List<int> numbers; // Chyba
Místo toho je třeba použít obalové třídy:
List<Integer> numbers; // Správně
To je způsobeno tím, že generika fungují pouze s objekty, a primitivní typy objekty nejsou.