Sobes.tech
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.