1. Si los parámetros de tipo no tienen restricciones, reemplace todos los parámetros de tipo en el tipo genérico con sus límites u objetos.
Por lo tanto, el código de bytes generado solo incluye clases, interfaces y métodos ordinarios.
2. Insertar conversiones de tipos cuando sea necesario para mantener la seguridad de tipos.
3. Para mantener el polimorfismo en tipos genéricos extendidos, genere métodos puente.
Ejemplo
Lista<Cadena> lista1 = nueva ArrayList<Cadena>(); Lista<Integer> lista2 = nueva ArrayList<Integer>(); System.out.println(list1.getClass() == list2.getClass()); // imprime verdadero
Lo anterior es la aplicación de borrado de tipo Java, espero que sea útil para todos.