Spec-Zone.ru › OpenJDK 8

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

  • java.lang.Object
    • java.lang.Enum<E>
Type Parameters:
E - Подкласс типа перечисления
Все реализованные интерфейсы:
Serializable, Comparable<E>

public abstract class Enum<E extends Enum<E>>
extends Object
implements Comparable<E>, Serializable

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

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

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

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

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

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

Методы

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

Выбрасывает CloneNotSupportedException.

int compareTo(E o)

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

boolean equals(Object other)

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

protected void finalize()

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

Class<E> getDeclaringClass()

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

int hashCode()

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

String name()

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

int ordinal()

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

String toString()

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

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 - - Имя этой константы перечисления, которое является идентификатором, используемым для ее объявления.
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. Это гарантирует, что перечисления никогда не клонируются, что необходимо для сохранения их статуса «синглтон».

Переопределяет:
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:
T - Тип перечисления, константа которого должна быть возвращена
Параметры:
enumType - объект Class типа перечисления, из которого нужно вернуть константу
name - имя возвращаемой константы
Возвращает:
константу перечисления указанного типа перечисления с указанным именем
Выбрасывает:
IllegalArgumentException - если у указанного типа перечисления нет константы с указанным именем или указанный объект класса не представляет собой тип перечисления
NullPointerException - если enumType или name равны null
С:
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.

Spec-Zone.ru

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