Prev Class | Next Class | Frames | No Frames |
Summary: Nested | Field | Method | Constr | Detail: Nested | Field | Method | Constr |
public interface WildcardType
extends Type
?
,
which represents any unbounded type. Another example is
? extends Number
, which specifies any type
which is a subclass of Number
(Number
is the upper bound).
? super String
gives the type a less common lower bound,
which means that the type must be either a String
or one
of its superclasses. This can be useful in working with collections.
You may want a method to add instances of a class to a collection
with a more generic type (e.g. adding String
s to
a list of Object
s), but don't want to allow users
to pass in a collection with a more specific type.
Method Summary | |
Type[] |
|
Type[] |
|
public Type[] getLowerBounds()
Returns an array ofType
s, which specify the lower bounds of this type. The default lower bound isnull
, which causes this method to return an empty array.In generating the array of
Type
s, eachParameterizedType
orTypeVariable
is created, (see the documentation for these classes for details of this process), if necessary, while all other types are simply resolved.
- Returns:
- an array of
Type
objects, representing the wildcard type's lower bounds.
- Throws:
TypeNotPresentException
- if any of the types referred to by the lower bounds of this type do not actually exist.MalformedParameterizedTypeException
- if any of the types refer to a type which can not be instantiated.
public Type[] getUpperBounds()
Returns an array ofType
s, which specify the upper bounds of this type. The default upper bound isObject
, which causes this method to return an array, containing just theType
instance forObject
.In generating the array of
Type
s, eachParameterizedType
orTypeVariable
is created, (see the documentation for these classes for details of this process), if necessary, while all other types are simply resolved.
- Returns:
- an array of
Type
objects, representing the wildcard type's upper bounds.
- Throws:
TypeNotPresentException
- if any of the types referred to by the upper bounds of this type do not actually exist.MalformedParameterizedTypeException
- if any of the types refer to a type which can not be instantiated.