Il tutorial ufficiale di Java sui generici spiega la cancellazione dei tipi e perché è stato aggiunto al compilatore:
Quando viene istanziato un tipo generico, il compilatore traduce quei tipi con una tecnica chiamata type erasure, un processo in cui il compilatore rimuove tutte le informazioni relative ai parametri del tipo e agli argomenti del tipo all'interno di una classe o di un metodo. La cancellazione del tipo abilita le applicazioni Java che usano i generici per mantenere la compatibilità binaria con le librerie e le applicazioni Java create prima dei generici.
Questo molto 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 del tipo? È fattibile senza la necessità di rompere la compatibilità all'indietro, o se è fattibile, è pratico?
L'ultima affermazione nella citazione sopra è diventata autoreferenziale? Vale a dire: "la cancellazione del tipo consente alle applicazioni Java che usano i generici di mantenere la compatibilità binaria con le librerie Java e le applicazioni create con versioni Java che eseguono la cancellazione del tipo".