public interface ParameterizedType extends Type
ParameterizedType represents a parameterized type such as Collection<String>.
A parameterized type is created the first time it is needed by a reflective method, as specified in this package. When a parameterized type p is created, the generic type declaration that p instantiates is resolved, and all type arguments of p are created recursively. See TypeVariable
for details on the creation process for type variables. Repeated creation of a parameterized type has no effect.
Instances of classes that implement this interface must implement an equals() method that equates any two instances that share the same generic type declaration and have equal type parameters.
Type[] getActualTypeArguments()
Returns an array of Type
objects representing the actual type arguments to this type.
Note that in some cases, the returned array be empty. This can occur if this type represents a non-parameterized type nested within a parameterized type.
Type
objects representing the actual type arguments to this typeTypeNotPresentException
- if any of the actual type arguments refers to a non-existent type declarationMalformedParameterizedTypeException
- if any of the actual type parameters refer to a parameterized type that cannot be instantiated for any reasonType getRawType()
Returns the Type
object representing the class or interface that declared this type.
Type
object representing the class or interface that declared this typeType getOwnerType()
Returns a Type
object representing the type that this type is a member of. For example, if this type is O<T>.I<S>
, return a representation of O<T>
.
If this type is a top-level type, null
is returned.
Type
object representing the type that this type is a member of. If this type is a top-level type, null
is returnedTypeNotPresentException
- if the owner type refers to a non-existent type declarationMalformedParameterizedTypeException
- if the owner type refers to a parameterized type that cannot be instantiated for any reason
© 1993–2017, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.