Generics in Java
From the Java cheat sheet · Generics · verified Jul 2026
Generics
Generic classes, methods, bounds, and wildcards.
java
// Quick Reference
class Box<T> { T value; }
<T> T first(List<T> list) { return list.get(0); }
List<? extends Number> nums; // wildcard💡 Generics give compile-time type safety and remove manual casts.
⚡ <T extends Number> bounds the type so you can call Number methods on T.
📌 Use ? extends for reading (producers), ? super for writing (consumers) - PECS.
🟢 Type parameters are erased at runtime (type erasure) - no new T() or T.class.
genericswildcards