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

# 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 java.lang.Enum

`Enum.EnumDesc<E extends Enum<E>>`

## 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 java.lang.Enum

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

### Methods declared in class java.lang.Object

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

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