Класс Enum<E extends Enum<E>>

Type Parameters:
- Тип подкласса перечисления
Все реализованные интерфейсы:
Serializable, Comparable<E>
public abstract class Enum<E extends Enum<E>>
extends Object
implements Comparable<E>, Serializable

Это базовый класс всех типов перечислений языка Java. Более подробную информацию о перечислениях, включая описания неявно объявленных методов, сгенерированных компилятором, можно найти в разделе 8.9 спецификации языка Java™.

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

C момента:
1.5
См. также:
Class.getEnumConstants(), EnumSet, EnumMap, Сериализованная форма

Конструкторы

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

Единственный конструктор.

Методы

Модификатор и типМетодОписание
protected Objectclone()

Бросает CloneNotSupportedException.

intcompareTo​(E o)

Сравнивает это перечисление с указанным объектом для определения порядка.

booleanequals​(Object other)

Возвращает true, если указанный объект равен этому постоянному значению перечисления.

protected voidfinalize()

Классы перечислений не могут иметь методы finalize.

Class<E>getDeclaringClass()

Возвращает объект Class, соответствующий типу перечисления этого постоянного значения перечисления.

inthashCode()

Возвращает код хэша для этого постоянного значения перечисления.

Stringname()

Возвращает имя этого постоянного значения перечисления, точно так, как оно объявлено в его объявлении перечисления.

intordinal()

Возвращает порядковый номер этого постоянного значения перечисления (его позицию в его объявлении перечисления, где начальному постоянному значению присваивается порядковый номер ноль).

StringtoString()

Возвращает имя этого постоянного значения перечисления, как оно содержится в объявлении.

static <T extends Enum<T>>
T
valueOf​(Class<T> enumType, String name)

Возвращает постоянное значение перечисления заданного типа перечисления с заданным именем.

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

getClass, notify, notifyAll, wait, wait, wait

Конструкторы

Enum

protected Enum(String name,
               int ordinal)

Единственный конструктор. Программисты не могут вызвать этот конструктор. Он используется кодом, сгенерированным компилятором в ответ на объявления типов перечислений.

Параметры:
- Имя этого постоянного значения перечисления, являющегося идентификатором, используемым для его объявления.
- Порядковый номер этого постоянного значения перечисления (его позиция в объявлении перечисления, где начальному постоянному значению присваивается порядковый номер ноль).

Методы

name

public final String name()

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

Возвращает:
имя этого постоянного значения перечисления

ordinal

public final int ordinal()

Возвращает порядковый номер этого постоянного значения перечисления (его позицию в его объявлении перечисления, где начальному постоянному значению присваивается порядковый номер ноль). Большинству программистов этот метод не нужен. Он предназначен для использования в сложных структурах данных на основе перечислений, таких как 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. Это гарантирует, что перечисления никогда не клонируются, что необходимо для сохранения их статуса «сингултон».

Переопределяет:
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, соответствующий типу перечисления этого постоянного значения перечисления

valueOf

public static <T extends Enum<T>> T valueOf(Class<T> enumType,
                                            String name)

Возвращает постоянное значение перечисления заданного типа перечисления с заданным именем. Имя должно точно совпадать с идентификатором, используемым для объявления постоянного значения перечисления в этом типе. (Дополнительные символы пробелов недопустимы.)

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

Type Parameters:
- Тип перечисления, постоянное значение которого должно быть возвращено
Параметры:
enumType - объект Class типа перечисления, из которого необходимо вернуть постоянное значение
name - имя возвращаемого постоянного значения
Возвращает:
постоянное значение перечисления заданного типа перечисления с заданным именем
Бросает:
IllegalArgumentException - если указанный тип перечисления не имеет постоянного значения с заданным именем или если указанный объект класса не представляет тип перечисления
NullPointerException - если enumType или name равно null
C момента:
1.5

finalize

protected final void finalize()

Классы перечислений не могут иметь методы finalize.

Переопределяет:
finalize в классе Object
См. также:
WeakReference, PhantomReference

© 1993, 2020, 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/11/docs/api/java.base/java/lang/Enum.html

Spec-Zone .ru
спецификации, руководства, описания, API