Generics
Type erasure is the compiler mechanism that removes generic type information after compile-time checking, replacing type parameters with their bound (or Object) in the compiled bytecode. This is why generic type information isn't available at runtime and why you can't do things like `new T()` or `list instanceof List<String>`.
Advanced7 min

