1. Si les paramètres de type ne sont pas restreints, remplacez tous les paramètres de type du type générique par leurs limites ou objets.
Par conséquent, le bytecode généré inclut uniquement les classes, interfaces et méthodes ordinaires.
2. Insérez des conversions de type lorsque cela est nécessaire pour maintenir la sécurité du type.
3. Afin de maintenir le polymorphisme dans les types génériques étendus, générez des méthodes de pont.
Exemple
List<String> list1 = new ArrayList<String>(); List<Integer> list2 = new ArrayList<Integer>(); System.out.println(list1.getClass() == list2.getClass()); // affiche vrai
Ce qui précède est l'application de l'effacement de type Java, j'espère que cela sera utile à tout le monde.