Interface TypeVariable

All Superinterfaces:
AnnotatedConstruct, ReferenceType, TypeMirror

public interface TypeVariable
extends ReferenceType

Represents a type variable. A type variable may be explicitly declared by a type parameter of a type, method, or constructor. A type variable may also be declared implicitly, as by the capture conversion of a wildcard type argument (see chapter 5 of The Java™ Language Specification).

Since:
1.6
See Also:
TypeParameterElement

Methods

Modifier and Type Method and Description
Element asElement()

Returns the element corresponding to this type variable.

TypeMirror getLowerBound()

Returns the lower bound of this type variable.

TypeMirror getUpperBound()

Returns the upper bound of this type variable.

Methods inherited from interface javax.lang.model.type.TypeMirror

accept, equals, getKind, hashCode, toString

Methods inherited from interface javax.lang.model.AnnotatedConstruct

getAnnotation, getAnnotationMirrors, getAnnotationsByType

Methods

asElement

Element asElement()

Returns the element corresponding to this type variable.

Returns:
the element corresponding to this type variable

getUpperBound

TypeMirror getUpperBound()

Returns the upper bound of this type variable.

If this type variable was declared with no explicit upper bounds, the result is java.lang.Object. If it was declared with multiple upper bounds, the result is an intersection type; individual bounds can be found by examining the result's bounds.

Returns:
the upper bound of this type variable

getLowerBound

TypeMirror getLowerBound()

Returns the lower bound of this type variable. While a type parameter cannot include an explicit lower bound declaration, capture conversion can produce a type variable with a non-trivial lower bound. Type variables otherwise have a lower bound of NullType.

Returns:
the lower bound of this type variable

© 1993, 2020, 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.
https://docs.oracle.com/javase/8/docs/api/javax/lang/model/type/TypeVariable.html