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

# Enum Class TypeKind

java.lang.Object
java.lang.Enum<TypeKind>
javax.lang.model.type.TypeKind

All Implemented Interfaces:
  `Serializable, Comparable<TypeKind>, Constable`

public enum TypeKind extends Enum<TypeKind>
The kind of a type mirror.

Note that it is possible additional type kinds will be added to accommodate new, currently unknown, language structures added to future versions of the Java programming language.

Since:
  1.6
See Also:
  - `TypeMirror`

- ## Nested Class Summary

  ### Nested classes/interfaces declared in class Enum

  `Enum.EnumDesc<E>`
  Modifier and Type
  Class
  Description
  `static final class`
  `Enum.EnumDesc<E extends Enum<E>>`
  A nominal descriptor for an `enum` constant.

- ## Enum Constant Summary

  Enum Constants
  Enum Constant
  Description
  `ARRAY`
  An array type.
  `BOOLEAN`
  The primitive type `boolean`.
  `BYTE`
  The primitive type `byte`.
  `CHAR`
  The primitive type `char`.
  `DECLARED`
  A class or interface type.
  `DOUBLE`
  The primitive type `double`.
  `ERROR`
  A class or interface type that could not be resolved.
  `EXECUTABLE`
  A method, constructor, or initializer.
  `FLOAT`
  The primitive type `float`.
  `INT`
  The primitive type `int`.
  `INTERSECTION`
  An intersection type.
  `LONG`
  The primitive type `long`.
  `MODULE`
  A pseudo-type corresponding to a module element.
  `NONE`
  A pseudo-type used where no actual type is appropriate.
  `NULL`
  The null type.
  `OTHER`
  An implementation-reserved type.
  `PACKAGE`
  A pseudo-type corresponding to a package element.
  `SHORT`
  The primitive type `short`.
  `TYPEVAR`
  A type variable.
  `UNION`
  A union type.
  `VOID`
  The pseudo-type corresponding to the keyword `void`.
  `WILDCARD`
  A wildcard type argument.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `boolean`
  `isPrimitive()`
  Returns `true` if this kind corresponds to a primitive type and `false` otherwise.
  `static TypeKind`
  `valueOf(String name)`
  Returns the enum constant of this class with the specified name.
  `static TypeKind[]`
  `values()`
  Returns an array containing the constants of this enum class, in the order they are declared.

  ### Methods declared in class Enum

  `clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`
  Modifier and Type
  Method
  Description
  `protected final Object`
  `clone()`
  Throws CloneNotSupportedException.
  `final int`
  `compareTo(TypeKind o)`
  Compares this enum with the specified object for order.
  `final Optional<Enum.EnumDesc<TypeKind>>`
  `describeConstable()`
  Returns an enum descriptor `EnumDesc` for this instance, if one can be constructed, or an empty `Optional` if one cannot be.
  `final boolean`
  `equals(Object other)`
  Returns true if the specified object is equal to this enum constant.
  `protected final void`
  `finalize()`
  Deprecated, for removal: This API element is subject to removal in a future version.
  Finalization has been deprecated for removal.
  `final Class<TypeKind>`
  `getDeclaringClass()`
  Returns the Class object corresponding to this enum constant's enum type.
  `final int`
  `hashCode()`
  Returns a hash code for this enum constant.
  `final String`
  `name()`
  Returns the name of this enum constant, exactly as declared in its enum declaration.
  `final int`
  `ordinal()`
  Returns the ordinal of this enumeration constant (its position in its enum declaration, where the initial constant is assigned an ordinal of zero).
  `String`
  `toString()`
  Returns the name of this enum constant, as contained in the declaration.
  `static <T extends Enum<T>>
  T`
  `valueOf(Class<T> enumClass, String name)`
  Returns the enum constant of the specified enum class with the specified name.

  ### Methods declared in class Object

  `getClass, notify, notifyAll, wait, wait, wait`
  Modifier and Type
  Method
  Description
  `final Class<?>`
  `getClass()`
  Returns the runtime class of this `Object`.
  `final void`
  `notify()`
  Wakes up a single thread that is waiting on this object's monitor.
  `final void`
  `notifyAll()`
  Wakes up all threads that are waiting on this object's monitor.
  `final void`
  `wait()`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
  `final void`
  `wait(long timeoutMillis)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
  `final void`
  `wait(long timeoutMillis, int nanos)`
  Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

- ## Enum Constant Details

  - ### BOOLEAN

    public static final TypeKind BOOLEAN
    The primitive type `boolean`.

  - ### BYTE

    public static final TypeKind BYTE
    The primitive type `byte`.

  - ### SHORT

    public static final TypeKind SHORT
    The primitive type `short`.

  - ### INT

    public static final TypeKind INT
    The primitive type `int`.

  - ### LONG

    public static final TypeKind LONG
    The primitive type `long`.

  - ### CHAR

    public static final TypeKind CHAR
    The primitive type `char`.

  - ### FLOAT

    public static final TypeKind FLOAT
    The primitive type `float`.

  - ### DOUBLE

    public static final TypeKind DOUBLE
    The primitive type `double`.

  - ### VOID

    public static final TypeKind VOID
    The pseudo-type corresponding to the keyword `void`.
    See Also:
      - `NoType`

  - ### NONE

    public static final TypeKind NONE
    A pseudo-type used where no actual type is appropriate.
    See Also:
      - `NoType`

  - ### NULL

    public static final TypeKind NULL
    The null type.

  - ### ARRAY

    public static final TypeKind ARRAY
    An array type.

  - ### DECLARED

    public static final TypeKind DECLARED
    A class or interface type.

  - ### ERROR

    public static final TypeKind ERROR
    A class or interface type that could not be resolved.

  - ### TYPEVAR

    public static final TypeKind TYPEVAR
    A type variable.

  - ### WILDCARD

    public static final TypeKind WILDCARD
    A wildcard type argument.

  - ### PACKAGE

    public static final TypeKind PACKAGE
    A pseudo-type corresponding to a package element.
    See Also:
      - `NoType`

  - ### EXECUTABLE

    public static final TypeKind EXECUTABLE
    A method, constructor, or initializer.

  - ### OTHER

    public static final TypeKind OTHER
    An implementation-reserved type. This is not the type you are looking for.

  - ### UNION

    public static final TypeKind UNION
    A union type.
    Since:
      1.7

  - ### INTERSECTION

    public static final TypeKind INTERSECTION
    An intersection type.
    Since:
      1.8

  - ### MODULE

    public static final TypeKind MODULE
    A pseudo-type corresponding to a module element.
    Since:
      9
    See Also:
      - `NoType`

- ## Method Details

  - ### values

    public static TypeKind[] values()
    Returns an array containing the constants of this enum class, in the order they are declared.
    Returns:
      an array containing the constants of this enum class, in the order they are declared

  - ### valueOf

    public static TypeKind valueOf(String name)
    Returns the enum constant of this class with the specified name. The string must match exactly an identifier used to declare an enum constant in this class. (Extraneous whitespace characters are not permitted.)
    Parameters:
      `name` - the name of the enum constant to be returned.
    Returns:
      the enum constant with the specified name
    Throws:
      `IllegalArgumentException` - if this enum class has no constant with the specified name
      `NullPointerException` - if the argument is null

  - ### isPrimitive

    public boolean isPrimitive()
    Returns `true` if this kind corresponds to a primitive type and `false` otherwise.
    Returns:
      `true` if this kind corresponds to a primitive type and `false` otherwise