Java Generics Tips and Tricks

Parameterized type: List<String>

Actual type parameter: String

Generic type: List<E>

Formal type parameter: E

Unbounded wildcard type: List<?>

Raw type: List

Bounded type parameter: <E extends Number>

Recursive type bound: <T extends Comparable<T>>

Bounded wildcard type: Bounded wildcard type

List<? extends Number>: static <E> List<E> asList(E[] a)

Type token: String.class

Read More