(java@oneshot)logo/  logo/  logo/  logo/


Java Tutorial » Generics » Generics Basics  
12.1.2.What Are Generics? A Simple Generics ExamplePrevious/Next

The term generics means parameterized types. (Java 2 V5.0 (Tiger) New Features by Herbert Schildt )

  1. T is a type parameter that will be replaced by a real type.
  2. T is the name of a type parameter.
  3. This name is used as a placeholder for the actual type that will be passed to Gen when an object is created.
class GenericClass<T> {
  T ob;

  GenericClass(T o) {
    ob = o;

  T getob() {
    return ob;

  void showType() {
    System.out.println("Type of T is " + ob.getClass().getName());

public class MainClass {
  public static void main(String args[]) {
    // Create a Gen reference for Integers.
    GenericClass<Integer> iOb = new GenericClass<Integer>(88);

    // no cast is needed.
    int v = iOb.getob();
    System.out.println("value: " + v);

    // Create a Gen object for Strings.
    GenericClass<String> strOb = new GenericClass<String>("Generics Test");

    String str = strOb.getob();
    System.out.println("value: " + str);
Type of T is java.lang.Integer
value: 88
Type of T is java.lang.String
value: Generics Test
12.1.Generics Basics
12.1.1. Life without Generics
12.1.2. What Are Generics? A Simple Generics Example
12.1.3. Generics Work Only with Objects
12.1.4. A Generic Class with Two Type Parameters
12.1.5. Introducing Generic Types
12.1.6. Working with generic List
12.1.7. Nested generic type
12.1.8. A generic type can accept more than one type variables.
12.1.9. Raw Types and Legacy Code