It associate one or more non-specified Java types upon creation.
Generic types (or generics)
It represents an unknown type and is specified by the question mark.
wildcard argument
What are the two (2) categories under wildcards?
unbounded wildcard and bounded wildcard
It can be used to represent any type.
<?> or unbounded wildcard
It restricts the unknown type to be a specific type or a subtype of that type.
upper bounded wildcard
It restricts the unknown type to be a specific type or super type of that type.