Junior — Middle
Magyarázza el a típuseltörlés fogalmát és fő célját a programozásban.
sobes.tech MI
Válasz az MI-től
A típus eltávolítása (type erasure) egy mechanizmus Java-ban, amelyet generikusokkal való munkavégzés során használnak. A fordítás során a generikus paraméterek típusaira vonatkozó információk eltávolításra kerülnek (törlődnek), és a fordított bájtkódban a típusokat általában a felső korlátozó típusukkal (általában Object) helyettesítik.
A típus eltávolítás fő céljai:
- Visszamenőleges kompatibilitás biztosítása a generikusok megjelenése előtt írt kóddal.
- Lehetővé tenni a generikusok JVM módosítása nélküli használatát.
Példa:
List<String> list = new ArrayList<>();
// Fordítás közben ez kb. így alakul:
List list = new ArrayList();
Ezért például nem lehet generikus típusú tömböket létrehozni vagy közvetlenül az instanceof operátort generikus típusokkal használni.