Класс Enum<E extends Enum<E>>
- Параметры типа:
E- Тип подкласса перечисления
- Все реализованные интерфейсы:
-
Serializable,Comparable<E>,Constable
public abstract class Enum<E extends Enum<E>> extends Object implements Constable, Comparable<E>, Serializable
serialVersionUID; см. Спецификацию сериализации объектов Java для получения подробностей. Обратите внимание, что при использовании типа перечисления в качестве типа множества или в качестве типа ключей в отображении доступны специализированные и эффективные реализации множеств и отображений.
- См. Спецификацию языка Java:
- 8.9 Классы перечислений
8.9.3 Члены перечислений
- С тех пор:
- 1.5
- Внешние спецификации
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static final class |
Enum.EnumDesc<E extends Enum<E>> |
enum номинальный описатель для константы. |
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Единственный конструктор. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
protected final Object |
clone() |
Выбрасывает CloneNotSupportedException. |
final int |
compareTo |
Сравнивает это перечисление с указанным объектом для определения порядка. |
final Optional |
describeConstable() |
Возвращает описатель перечисления EnumDesc для этого экземпляра, если он может быть построен, или пустое Optional, если его нельзя построить. |
final boolean |
equals |
Возвращает true, если указанный объект равен этой константе перечисления. |
protected final void |
finalize() |
Устарело, для удаления: Этот элемент API может быть удален в будущей версии. Финализация устарела для удаления. |
final Class |
getDeclaringClass() |
Возвращает объект Class, соответствующий типу перечисления этой константы перечисления. |
final int |
hashCode() |
Возвращает хэш-код для этой константы перечисления. |
final String |
name() |
Возвращает имя этой константы перечисления, точно так, как она объявлена в её объявлении перечисления. |
final int |
ordinal() |
Возвращает порядковый номер этой константы перечисления (ее позицию в ее объявлении перечисления, где начальной константе присваивается порядковый номер ноль). |
String |
toString() |
Возвращает имя этой константы перечисления, как содержится в объявлении. |
static <T extends Enum<T>> |
valueOf |
Возвращает константу перечисления указанного класса перечисления с указанным именем. |
Подробное описание конструкторов
Перечисление
protected Enum(String name, int ordinal)
- Параметры:
-
name- Имя этой константы перечисления, которое является идентификатором, используемым для её объявления. -
ordinal- Порядковый номер этой константы перечисления (его позиция в объявлении перечисления, где начальной константе присваивается порядковый номер ноль).
Подробное описание методов
name
public final String name()
toString() вместо этого, поскольку метод toString может возвращать более удобное для пользователя имя. Этот метод предназначен в первую очередь для использования в специализированных ситуациях, когда правильность зависит от получения точного имени, которое не будет меняться при переиздании.- Возвращает:
- имя этой константы перечисления
ordinal
public final int ordinal()
EnumSet и EnumMap.- Возвращает:
- порядковый номер этой константы перечисления
toString
public String toString()
equals
public final boolean equals(Object other)
hashCode
clone
protected final Object clone() throws CloneNotSupportedException
- Переопределяет:
-
cloneв классеObject - Возвращает:
- (никогда не возвращает)
- Исключения:
-
CloneNotSupportedException- если класс объекта не поддерживает интерфейсCloneable. Подклассы, переопределяющие методclone, также могут выбросить это исключение, чтобы указать, что экземпляр не может быть клонирован. - См. также:
compareTo
public final int compareTo(E o)
- Определено в:
-
compareToв интерфейсеComparable<E extends Enum<E>> - Параметры:
-
o- объект для сравнения. - Возвращает:
- отрицательное целое число, ноль или положительное целое число, если этот объект меньше, равен или больше указанного объекта соответственно.
getDeclaringClass
public final Class<E> 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- объект класса перечисления, из которого нужно вернуть константу -
name- имя константы для возврата - Возвращает:
- константу перечисления указанного класса перечисления с указанным именем
- Исключения:
-
IllegalArgumentException- если у указанного класса перечисления нет константы с указанным именем или указанный объект класса не представляет собой класс перечисления -
NullPointerException- еслиenumClassилиnameравно null - С тех пор:
- 1.5
finalize
@Deprecated(since="18", forRemoval=true) protected final void finalize()
Object.finalize() для получения справочной информации и деталей о вариантах миграции.
© 1993, 2025, 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/Enum.html