# Print output for @column tags ?>
Developers

- Design
- Develop
- Distribute

Developer Console

## Most visited

## Recently visited

## Results for

Summary: Methods | Inherited Methods

# TypeVariable

`public interface TypeVariable`
`implements Type`

java.lang.reflect.TypeVariable<D extends java.lang.reflect.GenericDeclaration>

TypeVariable is the common superinterface for type variables of kinds. A type variable is created the first time it is needed by a reflective method, as specified in this package. If a type variable t is referenced by a type (i.e, class, interface or annotation type) T, and T is declared by the nth enclosing class of T (see JLS 8.1.2), then the creation of t requires the resolution (see JVMS 5) of the ith enclosing class of T, for i = 0 to n, inclusive. Creating a type variable must not cause the creation of its bounds. Repeated creation of a type variable has no effect.

Multiple objects may be instantiated at run-time to represent a given type variable. Even though a type variable is created only once, this does not imply any requirement to cache instances representing the type variable. However, all instances representing a type variable must be equal() to each other. As a consequence, users of type variables must not rely on the identity of instances of classes implementing this interface.

## Summary

### Public methods
`abstract Type[]` | `getBounds()` Returns an array of `Type` objects representing the upper bound(s) of this type variable.
`abstract D` | `getGenericDeclaration()` Returns the `GenericDeclaration` object representing the generic declaration declared this type variable.
`abstract String` | `getName()` Returns the name of this type variable, as it occurs in the source code.

### Inherited methods
From interface `java.lang.reflect.Type`
`default String` | `getTypeName()` Returns a string describing this type, including information about any type parameters.

## Public methods

### getBounds

    public abstract Type[] getBounds ()

Returns an array of `Type` objects representing the upper bound(s) of this type variable. Note that if no upper bound is explicitly declared, the upper bound is `Object`.

For each upper bound B:

- if B is a parameterized type or a type variable, it is created, (see `ParameterizedType` for the details of the creation process for parameterized types).
- Otherwise, B is resolved.

Returns
`Type[]` | an array of `Type`s representing the upper bound(s) of this type variable

Throws
`TypeNotPresentException` | if any of the bounds refers to a non-existent type declaration
`MalformedParameterizedTypeException` | if any of the bounds refer to a parameterized type that cannot be instantiated for any reason

### getGenericDeclaration

    public abstract D getGenericDeclaration ()

Returns the `GenericDeclaration` object representing the generic declaration declared this type variable.

Returns
`D` | the generic declaration declared for this type variable.

### getName

    public abstract String getName ()

Returns the name of this type variable, as it occurs in the source code.

Returns
`String` | the name of this type variable, as it appears in the source code

Full name *
Email address *
Company / developer name
One of your Play Store app URLs *
Which best describes your business:*
Apps
Games
Apps & Games
*
*