Sobes.tech
Junior — Middle

Šta sprečava korišćenje osnovnih tipova podataka u parametrima generičkih?

sobes.tech АИ

Одговор од АИ

U Javi, generici se implementiraju pomoću brisanja tipova (type erasure), što znači da informacije o tipovima generičkih parametara nisu dostupne tokom izvršavanja.

Zbog toga, primitivni tipovi (int, boolean itd.) ne mogu biti korišćeni kao generički parametri, jer nisu objekti i ne mogu biti predstavljeni kao klasa.

Na primer, nije ispravno da se napiše:

List<int> brojevi; // Greška

Umesto toga, treba koristiti omotače:

List<Integer> brojevi; // Tačno

Ovo je zbog toga što generici rade samo sa objektima, a primitivni tipovi nisu objekti.