# Uses of Class
java.lang.Enum

Packages that use Enum
Package
Description
java.lang
Provides classes that are fundamental to the design of the Java programming language.
java.lang.invoke
The `java.lang.invoke` package provides low-level primitives for interacting with the Java Virtual Machine.
java.util
Contains the collections framework, some internationalization support classes, a service loader, properties, random number generation, string parsing and scanning classes, base64 encoding and decoding, a bit array, and several miscellaneous utility classes.

## Uses of Enum in java.lang

Classes in java.lang with type parameters of type Enum
Modifier and Type
Class
Description
`class`
`Enum<E extends Enum<E>>`
This is the common base class of all Java language enumeration classes.
`static final class`
`Enum.EnumDesc<E extends Enum<E>>`
A nominal descriptor for an `enum` constant.
Methods in java.lang with type parameters of type Enum
Modifier and Type
Method
Description
`static <E extends Enum<E>>
Enum.EnumDesc<E>`
Enum.EnumDesc.`of(ClassDesc enumClass, String constantName)`
Returns a nominal descriptor for the specified `enum` class and name
`static <T extends Enum<T>>
T`
Enum.`valueOf(Class<T> enumClass, String name)`
Returns the enum constant of the specified enum class with the specified name.
Methods in java.lang that return types with arguments of type Enum
Modifier and Type
Method
Description
`Class<? extends Enum>`
EnumConstantNotPresentException.`enumType()`
Returns the type of the missing enum constant.
Constructor parameters in java.lang with type arguments of type Enum
Modifier
Constructor
Description
``
`EnumConstantNotPresentException(Class<? extends Enum> enumType, String constantName)`
Constructs an `EnumConstantNotPresentException` for the specified constant.

## Uses of Enum in java.lang.invoke

Methods in java.lang.invoke with type parameters of type Enum
Modifier and Type
Method
Description
`static <E extends Enum<E>>
E`
ConstantBootstraps.`enumConstant(MethodHandles.Lookup lookup, String name, Class<E> type)`
Returns an `enum` constant of the type specified by `type` with the name specified by `name`.

## Uses of Enum in java.util

Classes in java.util with type parameters of type Enum
Modifier and Type
Class
Description
`class`
`EnumMap<K extends Enum<K>,V>`
A specialized `Map` implementation for use with enum type keys.
`class`
`EnumSet<E extends Enum<E>>`
A specialized `Set` implementation for use with enum types.
Methods in java.util with type parameters of type Enum
Modifier and Type
Method
Description
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`allOf(Class<E> elementType)`
Creates an enum set containing all of the elements in the specified element type.
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`complementOf(EnumSet<E> s)`
Creates an enum set with the same element type as the specified enum set, initially containing all the elements of this type that are not contained in the specified set.
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`copyOf(Collection<E> c)`
Creates an enum set initialized from the specified collection.
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`copyOf(EnumSet<E> s)`
Creates an enum set with the same element type as the specified enum set, initially containing the same elements (if any).
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`noneOf(Class<E> elementType)`
Creates an empty enum set with the specified element type.
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`of(E e)`
Creates an enum set initially containing the specified element.
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`of(E e1, E e2)`
Creates an enum set initially containing the specified elements.
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`of(E first, E... rest)`
Creates an enum set initially containing the specified elements.
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`of(E e1, E e2, E e3)`
Creates an enum set initially containing the specified elements.
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`of(E e1, E e2, E e3, E e4)`
Creates an enum set initially containing the specified elements.
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`of(E e1, E e2, E e3, E e4, E e5)`
Creates an enum set initially containing the specified elements.
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`range(E from, E to)`
Creates an enum set initially containing all of the elements in the range defined by the two specified endpoints.
Methods in java.util with parameters of type Enum
Modifier and Type
Method
Description
`static <E extends Enum<E>>
EnumSet<E>`
EnumSet.`of(E first, E... rest)`
Creates an enum set initially containing the specified elements.