This article is meant as a gentle introduction to generics. Generics help developers write type safe code that is easy to reuse. They help catch errors at compile time, rather than at run time. Generics make it easier for developers to write code that is self descriptive. In particular, they can help you avoid the confusing syntax and side effects involved in type casting and boxing.