Sobes.tech
Junior — Middle

Kas traucē izmantot pamattipus ģenerisko parametru ietvaros?

sobes.tech AI

Atbilde no AI

Java generics tiek īstenoti ar tipaizsniegšanas (type erasure) veidā, kas nozīmē, ka informācija par ģenerisko parametru tipiem nav pieejama izpildes laikā.

Tādēļ primitivie tipi (int, boolean utt.) nevar tikt izmantoti kā ģeneriskie parametri, jo tie nav objekti un nevar tikt attēloti kā klase.

Piemēram, ir nepareizi rakstīt:

List<int> skaitļi; // Kļūda

Tā vietā jāizmanto apvalka tipi:

List<Integer> skaitļi; // Pareizi

Tas ir tāpēc, ka ģeneriki darbojas tikai ar objektu tipiem, bet primitivie tipi nav objekti.