Junior — Middle
Mis takistab kasutada põhitüüpe generics-parameetrites?
sobes.tech AI
Vastus AI-lt
Java-s generics implementeeritakse tüübi kustutamise (type erasure) kaudu, mis tähendab, et teave generiliste parameetrite tüüpide kohta ei ole jooksvalt saadaval.
Seetõttu ei saa primitiivseid tüüpe (int, boolean jne) kasutada generiliste parameetritena, kuna need ei ole objektid ja neid ei saa esitada klassina.
Näiteks on vale kirjutada:
List<int> numbers; // Viga
Selle asemel tuleb kasutada pakendeid:
List<Integer> numbers; // Õige
See on tingitud sellest, et generics töötavad ainult objektitüüpidega, ning primitiivsed tüübid ei ole objektid.