Java 5 brought generics to the Java language. In this article, I introduce you to generics and discuss generic types, generic methods, generics and type inference, generics controversy, and generics and heap pollution.
What are generics?
Generics are a collection of related language features that allow types or methods to operate on objects of various types while providing compile-time type safety. Generics features address the problem of java.lang.ClassCastException
s being thrown at runtime, which are the result of code that is not type safe (i.e., casting objects from their current types to incompatible types).