L'effacement de type est le mécanisme par lequel le compilateur Java supprime toutes les informations de type générique au moment de la compilation. Après la compilation, un List<String> et un List<Integer> sont tous deux simplement List en bytecode. Il s'agissait d'un choix de conception délibéré pour maintenir la compatibilité ascendante avec le code pré-Java-5.
What Happens During Erasure