Java Tutorials - Herong's Tutorial Examples - Version 7.03, by Dr. Herong Yang
Creating a Generic Class - Example
This section provides a tutorial example on creating a generic class by declaring type parameters and using them as 'Type Variable' types within the scope of the class.
Here is an example program that creates a generic class with a single type parameter:
/* ObjectRegister.java - Copyright (c) 2014, HerongYang.com, All Rights Reserved. */ import java.util.*; class ObjectRegister<T> { private HashSet<T> pool; // Constructor public ObjectRegister() { pool = new HashSet<T>(); } // Registering T objects public void register(T item) { pool.add(item); } // Returning the size public long size() { return pool.size(); } // Testing the class public static void main(String[] a) { java.io.PrintStream o = System.out; ObjectRegister<String> reg = new ObjectRegister<String>(); reg.register(new String("Java")); reg.register(new String("C++")); reg.register(new String("PHP")); o.println("# of objects registered: "+reg.size()); } }
Compile and run the example, you will get:
# of objects registered: 3
Last update: 2014.
Table of Contents
Execution Process, Entry Point, Input and Output
Primitive Data Types and Literals
Bits, Bytes, Bitwise and Shift Operations
Managing Bit Strings in Byte Arrays
Reference Data Types and Variables
StringBuffer - The String Buffer Class
System Properties and Runtime Object Methods
►Generic Classes and Parameterized Types
Using a Generic Class - Example
►Creating a Generic Class - Example
Raw Type, Generic Type and Parameterized Type
Parameterized Type and Subtyping
Wildcard Parameterized Type Test
Wildcard Parameterized Subtyping
Wildcard Parameterized Subtyping Example
Generic Methods and Type Inference
Lambda Expressions and Method References
Execution Threads and Multi-Threading Java Programs
ThreadGroup Class and "system" ThreadGroup Tree
Synchronization Technique and Synchronized Code Blocks
Deadlock Condition Example Programs