Spec-Zone.ru › OpenJDK 17

Класс Enum>

java.lang.Object
java.lang.Enum
Параметры типа:
E - Тип подкласса перечисления
Все реализованные интерфейсы:
Serializable, Comparable<E>, Constable
public abstract class Enum<E extends Enum<E>> extends Object implements Constable, Comparable<E>, Serializable
Это общий базовый класс всех классов перечислений языка Java. Более подробную информацию о перечислениях, включая описания неявно объявленных методов, синтезированных компилятором, можно найти в разделе 8.9 Спецификации языка Java. Классы перечислений сериализуемы и получают специальное обращение механизмом сериализации. Сериализованное представление, используемое для констант перечисления, настраивать нельзя. Объявления методов и полей, которые в противном случае взаимодействовали бы с сериализацией, игнорируются, включая serialVersionUID; см. Спецификацию сериализации объектов Java для получения подробностей.

Обратите внимание, что при использовании типа перечисления в качестве типа множества или в качестве типа ключей в отображении доступны специализированные и эффективные реализации множества и отображения.

См. Спецификацию языка Java:
8.9 Классы перечислений
8.9.3 Члены перечислений
С тех пор как:
1.5
См. также:
  • Class.getEnumConstants()
  • EnumSet
  • EnumMap

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static final class  Enum.EnumDesc<E extends Enum<E>>
Именательный дескриптор для константы enum.

Краткое описание конструкторов

Enum(String name, int ordinal)
Модификатор Конструктор Описание
protected
Единственный конструктор.

Краткое описание методов

Модификатор и тип Метод Описание
protected final Object clone()
Бросает CloneNotSupportedException.
final int compareTo(E o)
Сравнивает это перечисление с указанным объектом по порядку.
final Optional<Enum.EnumDesc<E>> describeConstable()
Возвращает дескриптор перечисления EnumDesc для этого экземпляра, если его можно построить, или пустое Optional, если его нельзя.
final boolean equals(Object other)
Возвращает true, если указанный объект равен этой константе перечисления.
protected final void finalize()
Классы перечислений не могут иметь методы finalize.
final Class<E> getDeclaringClass()
Возвращает объект Class, соответствующий типу перечисления этой константы перечисления.
final int hashCode()
Возвращает хэш-код для этой константы перечисления.
final String name()
Возвращает имя этой константы перечисления точно так, как она объявлена в её объявлении перечисления.
final int ordinal()
Возвращает порядковый номер этой константы перечисления (её позиция в её объявлении перечисления, где начальная константа получает порядковый номер ноль).
String toString()
Возвращает имя этой константы перечисления, как оно содержится в объявлении.
static <T extends Enum<T>>
T
valueOf(Class<T> enumClass, String name)
Возвращает константу перечисления указанного класса перечисления с указанным именем.

Методы, объявленные в классе java.lang.Object

getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

Перечисление

protected Enum(String name, int ordinal)
Единственный конструктор. Программисты не могут вызвать этот конструктор. Он предназначен для использования кодом, сгенерированным компилятором в ответ на объявления перечислений.
Параметры:
name - - Имя этой константы перечисления, которое используется в качестве идентификатора для её объявления.
ordinal - - Порядковый номер этой константы перечисления (ее позиция в объявлении перечисления, где начальной константе присваивается порядковый номер 0).

Подробное описание методов

name

public final String name()
Возвращает имя этой константы перечисления, точно так, как оно объявлено в её объявлении перечисления. Большинству программистов следует использовать метод toString() вместо этого, так как метод toString может возвращать более удобное для пользователя имя. Этот метод предназначен в первую очередь для использования в специализированных ситуациях, где правильность зависит от получения точного имени, которое не будет изменяться от релиза к релизу.
Возвращает:
имя этой константы перечисления

ordinal

public final int ordinal()
Возвращает порядковый номер этой константы перечисления (ее позицию в ее объявлении перечисления, где начальной константе присваивается порядковый номер 0). Большинству программистов этот метод не понадобится. Он предназначен для использования в сложных структурах данных на основе перечислений, таких как EnumSet и EnumMap.
Возвращает:
порядковый номер этой константы перечисления

toString

public String toString()
Возвращает имя этой константы перечисления, как оно содержится в объявлении. Этот метод может быть переопределён, хотя обычно это не нужно или нежелательно. Класс перечисления должен переопределять этот метод, когда существует более "дружественный для программиста" строковый формат.
Переопределяет:
toString в классе Object
Возвращает:
имя этой константы перечисления

equals

public final boolean equals(Object other)
Возвращает true, если указанный объект равен этой константе перечисления.
Переопределяет:
equals в классе Object
Параметры:
other - объект, который необходимо сравнить на равенство с этим объектом.
Возвращает:
true, если указанный объект равен этой константе перечисления.
См. также:
  • Object.hashCode()
  • HashMap

hashCode

public final int hashCode()
Возвращает хэш-код для этой константы перечисления.
Переопределяет:
hashCode в классе Object
Возвращает:
хэш-код для этой константы перечисления.
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

clone

protected final Object clone() throws CloneNotSupportedException
Выбрасывает CloneNotSupportedException. Это гарантирует, что перечисления никогда не клонируются, что необходимо для сохранения их статуса "singleton".
Переопределяет:
clone в классе Object
Возвращает:
(никогда не возвращает)
Выбрасывает:
CloneNotSupportedException - если класс объекта не поддерживает интерфейс Cloneable. Подклассы, переопределяющие метод clone, также могут выбросить это исключение, чтобы указать, что экземпляр не может быть клонирован.
См. также:
  • Cloneable

compareTo

public final int compareTo(E o)
Сравнивает это перечисление с указанным объектом для определения порядка. Возвращает отрицательное целое число, ноль или положительное целое число, если этот объект меньше, равен или больше указанного объекта соответственно. Константы перечисления могут сравниваться только с другими константами перечисления того же типа перечисления. Естественный порядок, реализованный этим методом, — это порядок, в котором константы объявлены.
Указано в:
compareTo в интерфейсе Comparable<E extends Enum<E>>
Параметры:
o - объект для сравнения.
Возвращает:
отрицательное целое число, ноль или положительное целое число, если этот объект меньше, равен или больше указанного объекта соответственно.

getDeclaringClass

public final Class<E> getDeclaringClass()
Возвращает объект Class, соответствующий типу перечисления этой константы перечисления. Две константы перечисления e1 и e2 относятся к одному типу перечисления тогда и только тогда, когда e1.getDeclaringClass() == e2.getDeclaringClass(). (Значение, возвращаемое этим методом, может отличаться от значения, возвращаемого методом Object.getClass() для констант перечисления с телами класса, специфичными для констант.)
Возвращает:
объект Class, соответствующий типу перечисления этой константы перечисления

describeConstable

public final Optional<Enum.EnumDesc<E>> describeConstable()
Возвращает дескриптор перечисления EnumDesc для этого экземпляра, если его можно создать, или пустой Optional, если нельзя.
Указано в:
describeConstable в интерфейсе Constable
Возвращает:
Объект Optional, содержащий результирующий номинальный дескриптор, или пустой Optional, если его нельзя создать.
С тех пор:
12

valueOf

public static <T extends Enum<T>> T valueOf(Class<T> enumClass, String name)
Возвращает константу перечисления указанного класса перечисления с указанным именем. Имя должно точно соответствовать идентификатору, используемому для объявления константы перечисления в этом классе. (Дополнительные пробелы не допускаются.)

Обратите внимание, что для конкретного класса перечисления T, неявно объявленный метод public static T valueOf(String) в этом перечислении может быть использован вместо этого метода для сопоставления имени с соответствующей константой перечисления. Все константы класса перечисления могут быть получены, вызвав неявно объявленный метод public static T[] values() этого класса.

Параметры типа:
T - Класс перечисления, константа которого должна быть возвращена
Параметры:
enumClass - объект Class класса перечисления, из которого должна быть возвращена константа
name - имя константы, которая должна быть возвращена
Возвращает:
константу перечисления указанного класса перечисления с указанным именем
Выбрасывает:
IllegalArgumentException - если у указанного класса перечисления нет константы с указанным именем или указанный объект класса не представляет класс перечисления
NullPointerException - если enumClass или name равны null
С тех пор:
1.5

finalize

protected final void finalize()
Классы перечислений не могут иметь методы finalize.
Переопределяет:
finalize в классе Object
См. также:
  • WeakReference
  • PhantomReference

© 1993, 2021, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Enum.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API