/java-generics-guide

Guide to Java Generics

Primary LanguageJava

Generics were added in Java 5 to provide compile-time type checking and removing the risk of ClassCastException that was common while working with collection classes.

Java Generics Guide

Java Generics - Generics Basics
Java Generics - Benefits of Generics
Java Generics - Generic Types
Java Generics - Generic Methods in Java
Java Generics - Bounded Type Parameters
Java Generics - Wildcards

Java Generics Examples

Java Generic Methods Examples
Java Generic Interface Examples
Java Generic Class Examples
Java Generics Multiple Type Parameters Example
Java Generics Wildcards Example
Java Generics Upper Bounded Wildcards Example
Java Generics Lower Bounded Wildcards Example

SINCE Java 5, generics have been a part of the language. Before generics, you had to cast every object you read from a collection. If someone accidentally inserted an object of the wrong type, casts could fail at runtime. With generics, you tell the compiler what types of objects are permitted in each collection. The compiler inserts casts for you automatically and tells you at compile time if you try to insert an object of the wrong type. This results in programs that are both safer and clearer, but these benefits, which are not limited to collections, come at a price. This chapter tells you how to maximize the benefits and minimize the complications.