Описание тега erasure
When implementing generics in a programming language often the binary does not contain any of the type information from the generics. This is referred to as "erasure"
Java is famous (and often criticized) for using erasure. This choice was made to keep the language compatible with older versions which was always an important design goal for java first by Sun and later by Oracle.
Other similar languages like C# keep the type information from generics which allows to use this information at runtime.
Scala which compiles to Java byte code also has to use erasure, but uses other language features like Manifests to solve the problem of missing type information at runtime at least to some extend.
The tag should be used for question regarding the way erasure works and problems arising from erasure.