|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface WildcardType
Represents a wildcard type expression, where the type variable
is unnamed. The simplest example of this is ?
,
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[] |
getLowerBounds()
Returns an array of Type s, which specify the
lower bounds of this type. |
Type[] |
getUpperBounds()
Returns an array of Type s, which specify the
upper bounds of this type. |
Method Detail |
---|
Type[] getLowerBounds()
Returns an array of Type
s, which specify the
lower bounds of this type. The default lower bound is
null
, which causes this method to return an
empty array.
In generating the array of Type
s, each
ParameterizedType
or TypeVariable
is
created, (see the documentation for these classes for details of this
process), if necessary, while all other types are simply
resolved.
Type
objects, representing
the wildcard type's lower bounds.
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.Type[] getUpperBounds()
Returns an array of Type
s, which specify the
upper bounds of this type. The default upper bound is
Object
, which causes this method to return an
array, containing just the Type
instance for
Object
.
In generating the array of Type
s, each
ParameterizedType
or TypeVariable
is
created, (see the documentation for these classes for details of this
process), if necessary, while all other types are simply
resolved.
Type
objects, representing
the wildcard type's upper bounds.
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.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |