java.lang.reflect
public interface ParameterizedType extends Type
Represents a type which is parameterized over one or more other
types. For example, List<Integer>
is a parameterized
type, with List
parameterized over the type
Integer
.
Instances of this classes are created as needed, during reflection.
On creating a parameterized type, p
, the
GenericTypeDeclaration
corresponding to p
is created and resolved. Each type argument of p
is then created recursively; details of this process are availble
in the documentation of TypeVariable
. This creation
process only happens once; repetition has no effect.
Implementors of this interface must implement an appropriate
equals()
method. This method should equate any
two instances of the implementing class that have the same
GenericTypeDeclaration
and Type
parameters.
GenericDeclaration
,
TypeVariable
Modifier and Type | Method and Description |
---|---|
Type[] |
getActualTypeArguments()
Returns an array of
Type objects, which gives
the parameters of this type. |
Type |
getOwnerType()
Returns the type of which this type is a member.
|
Type |
getRawType()
Returns a version of this type without parameters, which corresponds
to the class or interface which declared the type.
|
Type[] getActualTypeArguments()
Returns an array of Type
objects, which gives
the parameters of this type.
Note: the returned array may be empty. This
occurs if the supposed ParameterizedType
is simply
a normal type wrapped inside a parameterized type.
Type
s, representing the arguments
of this type.TypeNotPresentException
- if any of the types referred to by
the parameters of this type do not actually exist.MalformedParameterizedTypeException
- if any of the types
refer to a type which can not be instantiated.Type getOwnerType()
Top<String>.Bottom<Integer>
,
Bottom<Integer>
is a member of
Top<String>
, and so the latter is returned
by this method. Calling this method on top-level types (such as
Top<String>
) returns null.TypeNotPresentException
- if the owner type referred to by
this type do not actually exist.MalformedParameterizedTypeException
- if the owner type
referred to by this type can not be instantiated.Type getRawType()
List<Double>
is List
, which was declared by the List
class.