Before you start
JDK 5.0 (also called Java 5.0 or "Tiger") brings some major changes to the Java language. The most significant change is the addition of generic types (generics) -- support for defining classes with abstract type parameters that you specify at instantiation time. Generics offer substantial potential to increase the type safety and maintainability of large programs.
Generics interact synergistically with several of the other new language features in JDK 5.0, including the enhanced
for loop (sometimes called the foreach or for/in loop), enumerations, and autoboxing.
This tutorial explains the motivation for adding generics to the Java language, details the syntax and semantics of generic types, and provides an introduction to using generics in your classes.
This tutorial is intended for intermediate and advanced Java developers who want to learn how the new language support for generics works. It is assumed that readers are familiar with developing interfaces and classes in the Java language, and with basic object-oriented design techniques.
The generics language feature is available only in JDK 5.0 and later. If you are developing software based on earlier JDK versions, you cannot use the generics features in your code until you migrate to JDK 5.0 or later.
You must have a JDK 5.0 development environment available to you in order to use generics. You can download JDK 5.0 for free from the Sun Microsystems Web site.