In Java 1.5, List
is not a type, because it requires a type variable [2].
List<Long>
is a type, but List
is a type constructor.
List
has a kind which is denoted * -> *
and reads “takes
one type to reveal a type”.
HashMap
is a type constructor which is kinded (*,*) -> *
since it takes two type
variables to reveal a type.
List<Long>
has a kind which is denoted *
(i.e. it is a
type).