This interface extends Type and represents the generic type represented by a type variable. getName( ) returns the name of the type variable, as it was declared in Java source code. getBounds( ) returns an array of Type objects that serve as the upper bounds for the variable. The returned array is never empty: if the type variable has no bounds declared, the single element of the array is Object.class . The getGenericDeclaration( ) method returns the Class , Method , or Constructor that declared this type variable (each of these classes implements the GenericDeclaration interface). Note that TypeVariable is itself a generic type and is parameterized with the kind of GenericDeclaration that declared the variable. Figure 10-102. java.lang.reflect.TypeVariable<D extends GenericDeclaration>public interface TypeVariable<D extends GenericDeclaration> extends Type { // Public Instance Methods Type[ ] getBounds ( ); D getGenericDeclaration ( ); String getName ( ); } Returned ByClass.getTypeParameters( ) , Constructor.getTypeParameters( ) , GenericDeclaration.getTypeParameters( ) , Method.getTypeParameters( ) |