Junior — Middle
Ce împiedică utilizarea tipurilor de date de bază în parametrii generici?
sobes.tech AI
Răspuns de la AI
În Java, genericele sunt implementate folosind ștergerea tipurilor (type erasure), ceea ce înseamnă că informațiile despre tipurile parametrilor generici nu sunt disponibile în timpul execuției.
Din această cauză, nu se pot folosi tipuri primitive (int, boolean etc.) ca parametri generici, deoarece acestea nu sunt obiecte și nu pot fi reprezentate ca o clasă.
De exemplu, nu se poate scrie:
List<int> numbers; // Eroare
În schimb, trebuie folosite învelitoare:
List<Integer> numbers; // Corect
Acest lucru se datorează faptului că genericele funcționează doar cu tipuri de obiecte, iar primitivele nu sunt obiecte.