TypeKind (Java Platform SE 8 )
Keywords: javax.lang.model.type.TypeKind class
Date: 2026-04-24

compact3
javax.lang.model.type

## Enum TypeKind

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

- All Implemented Interfaces:
    Serializable, Comparable<TypeKind>

      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`

- - ### Enum Constant Summary

    Enum Constants
    Enum Constant and 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`.
    `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

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 type with the specified name.
    `static TypeKind[]` | `values()` Returns an array containing the constants of this enum type, in the order they are declared.

    - ### Methods inherited from class java.lang.Enum

      `clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf`

    - ### Methods inherited from class java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

- - ### Enum Constant Detail

    - #### 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

  - ### Method Detail

    - #### values

          public static TypeKind[] values()

      Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:

          for (TypeKind c : TypeKind.values())
              System.out.println(c);

      Returns:
        an array containing the constants of this enum type, in the order they are declared

    - #### valueOf

          public static TypeKind valueOf(String name)

      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (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 type 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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.