Module java.compiler
Package javax.lang.model.type

## Interface DeclaredType

- All Superinterfaces:
    `AnnotatedConstruct`, `ReferenceType`, `TypeMirror`
  All Known Subinterfaces:
    `ErrorType`

      public interface DeclaredType
      extends ReferenceType

  Represents a declared type, either a class type or an interface type. This includes parameterized types such as `java.util.Set<String>` as well as raw types.

  While a `TypeElement` represents a class or interface element, a `DeclaredType` represents a class or interface type, the latter being a use (or invocation) of the former. See `TypeElement` for more on this distinction.

  The supertypes (both class and interface types) of a declared type may be found using the `Types.directSupertypes(TypeMirror)` method. This returns the supertypes with any type arguments substituted in.

  Since:
    1.6
  See Also:
    `TypeElement`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Element` | `asElement​()` | Returns the element corresponding to this type.
    `TypeMirror` | `getEnclosingType​()` | Returns the type of the innermost enclosing instance or a `NoType` of kind `NONE` if there is no enclosing instance.
    `List<? extends TypeMirror>` | `getTypeArguments​()` | Returns the actual type arguments of this type.

    - ### Methods inherited from interface javax.lang.model.AnnotatedConstruct

      `getAnnotation, getAnnotationMirrors, getAnnotationsByType`

    - ### Methods inherited from interface javax.lang.model.type.TypeMirror

      `accept, equals, getKind, hashCode, toString`

- - ### Method Detail

    - #### asElement

          Element asElement​()

      Returns the element corresponding to this type.
      Returns:
        the element corresponding to this type

    - #### getEnclosingType

          TypeMirror getEnclosingType​()

      Returns the type of the innermost enclosing instance or a `NoType` of kind `NONE` if there is no enclosing instance. Only types corresponding to inner classes have an enclosing instance.
      Returns:
        a type mirror for the enclosing type
      See The Java™ Language Specification:
        8.1.3 Inner Classes and Enclosing Instances, 15.9.2 Determining Enclosing Instances

    - #### getTypeArguments

          List<? extends TypeMirror> getTypeArguments​()

      Returns the actual type arguments of this type. For a type nested within a parameterized type (such as `Outer<String>.Inner<Number>`), only the type arguments of the innermost type are included.
      Returns:
        the actual type arguments of this type, or an empty list if none