IT-lexikon Programmering Type erasure

Type erasure

Programmering In English → Uppdaterad: 2026-07-30

Generics-implementation där type-parameters tas bort vid compile-time. Java 5 (2004) chose denna route för backward-compat med pre-generics-bytecode. Konsekvens: List<String> och List<Integer> är samma typ på runtime.

Praktiska konsekvenser: kan inte göra new T() i Java generics, kan inte type-check via instanceof List<String>. Kotlin: inline fun <reified T> bypassar erasure för specifika fall. TypeScript: erasure (types tas bort vid compile till JS) — runtime ingenting kvar. Skiljs från monomorphization (Rust, C++): genererar separate code per type → mer optimization, bigger binary. Scala 3 + Kotlin försöker mitigate erasure via runtime-type-info bestämda strategier.

← Tillbaka till lexikonet