compact3
javax.lang.model.type

## 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`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | 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`

- - ### Method Detail

    - #### 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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.