Sobes.tech
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.