Generics
Last modified Sunday, 07-Jul-2024 16:06:39 UTC.
Overview
Generics enable types to be parameters when defining classes, methods, etc.
The types have to be reference types, not primitive types.
Example:
UseArrayList.java
Generics provide ...
Stronger type checks at compile time
Elimination of type casts
Enable implementation of generic algorithms
Defining generic methods
The generic type parameter is provided in angle brackets before the method return type.
It is necessary to specify the super class of the generic type so that its capabilities are known, e.g., the methods required by an abstract superclass.
Example:
GenericArraySum.java
The generic type
<E extends Number>
says that the generic type
E
is some kind of
Number
(see
the notes on inheritance
).
Defining generic classes
A generic class is defined with the following format:
class name<T1, T2, ..., Tn> { ... }
The
Ti
are the
type parameters
. By convention, type parameter names are single, uppercase letters.
Example:
GenericPair.java
,
Gun.java
,
Cop.java
,
UseGenericPair.java
Exercises
Exam Style Questions
What are three benefits obtained from generics?