Il tutorial ufficiale Java sui generici spiega la cancellazione dei tipi e il motivo per cui è stato aggiunto a il compilatore:
When a generic type is instantiated, the compiler translates those types by a technique called type erasure — a process where the compiler removes all information related to type parameters and type arguments within a class or method. Type erasure enables Java applications that use generics to maintain binary compatibility with Java libraries and applications that were created before generics.
Questo probabilmente era un approccio pragmatico, o forse il meno doloroso. Tuttavia, ora che i farmaci generici sono ampiamente supportati in tutto il settore, cosa si può fare per non aver bisogno della cancellazione dei tipi? È fattibile senza bisogno di rompere la compatibilità all'indietro, o se è fattibile, è pratico?
L'ultima affermazione nella citazione di cui sopra diventa autoreferenziale? Cioè: "type erasure abilita le applicazioni Java che usano i generici per mantenere la compatibilità binaria con le librerie Java e le applicazioni che sono state create con versioni Java che eseguono la cancellazione dei tipi."