WildcardType (Java SE 26 & JDK 26)
Description: declaration: module: java.compiler, package: javax.lang.model.type, interface: WildcardType
Keywords: javax.lang.model.type.WildcardType interface

# Interface WildcardType

All Superinterfaces:
  `AnnotatedConstruct, TypeMirror`

public interface WildcardType extends TypeMirror
Represents a wildcard type argument. Examples include:

      ?
      ? extends Number
      ? super T

A wildcard may have its upper bound explicitly set by an `extends` clause, its lower bound explicitly set by a `super` clause, or neither (but not both).

See Java Language Specification:
  4.5.1 Type Arguments of Parameterized Types
Since:
  1.6

- ## Method Summary

  Modifier and Type
  Method
  Description
  `TypeMirror`
  `getExtendsBound()`
  Returns the upper bound of this wildcard.
  `TypeMirror`
  `getSuperBound()`
  Returns the lower bound of this wildcard.

  ### Methods declared in interface TypeMirror

  `accept, equals, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getKind, hashCode, toString`
  Modifier and Type
  Method
  Description
  `<R,P> R`
  `accept(TypeVisitor<R,P> v, P p)`
  Applies a visitor to this type.
  `boolean`
  `equals(Object obj)`
  Obeys the general contract of `Object.equals`.
  `<A extends Annotation>
  A`
  `getAnnotation(Class<A> annotationType)`
  Returns this construct's annotation of the specified type if such an annotation is present, else `null`.
  `List<? extends AnnotationMirror>`
  `getAnnotationMirrors()`
  Returns the annotations that are directly present on this construct.
  `<A extends Annotation>
  A[]`
  `getAnnotationsByType(Class<A> annotationType)`
  Returns annotations of the specified type that are associated with this construct.
  `TypeKind`
  `getKind()`
  Returns the `kind` of this type.
  `int`
  `hashCode()`
  Obeys the general contract of `Object.hashCode`.
  `String`
  `toString()`
  Returns an informative string representation of this type.

- ## Method Details

  - ### getExtendsBound

    TypeMirror getExtendsBound()
    Returns the upper bound of this wildcard. If no upper bound is explicitly declared, `null` is returned.
    Returns:
      the upper bound of this wildcard

  - ### getSuperBound

    TypeMirror getSuperBound()
    Returns the lower bound of this wildcard. If no lower bound is explicitly declared, `null` is returned.
    Returns:
      the lower bound of this wildcard