Generics

Creating a Generic Class

Deciding between T super T and extends T

The Diamond

Declaring a Generic Method

Requiring multiple upper bounds extends A B

Instantiating a generic type

Benefits of Generic class and interface

Obtain class that satisfies generic parameter at runtime

Creating a Bounded Generic Class

Referring to the declared generic type within its own declaration

Using Generics to auto-cast

Binding generic parameter to more than 1 type

Use of instanceof with Generics

Different ways for implementing a Generic Interface or extending a Generic Class