GenericDeclaration (Java SE 23 & JDK 23)
Description: declaration: module: java.base, package: java.lang.reflect, interface: GenericDeclaration
Keywords: java.lang.reflect.GenericDeclaration interface

# Interface GenericDeclaration

All Superinterfaces:
  `AnnotatedElement`

All Known Implementing Classes:
  `Class`, `Constructor`, `Executable`, `Method`

public interface GenericDeclaration extends AnnotatedElement
A common interface for all entities that declare type variables.

Since:
  1.5

- ## Method Summary

  Modifier and Type
  Method
  Description
  `TypeVariable<?>[]`
  `getTypeParameters()`
  Returns an array of `TypeVariable` objects that represent the type variables declared by the generic declaration represented by this `GenericDeclaration` object, in declaration order.

  ### Methods declared in interface java.lang.reflect.AnnotatedElement

  `getAnnotation, getAnnotations, getAnnotationsByType, getDeclaredAnnotation, getDeclaredAnnotations, getDeclaredAnnotationsByType, isAnnotationPresent`

- ## Method Details

  - ### getTypeParameters

    TypeVariable<?>[] getTypeParameters()
    Returns an array of `TypeVariable` objects that represent the type variables declared by the generic declaration represented by this `GenericDeclaration` object, in declaration order. Returns an array of length 0 if the underlying generic declaration declares no type variables.
    Returns:
      an array of `TypeVariable` objects that represent the type variables declared by this generic declaration
    Throws:
      `GenericSignatureFormatError` - if the generic signature of this generic declaration does not conform to the format specified in The Java Virtual Machine Specification