Класс перечисления TypeKind
- Все реализуемые интерфейсы:
Serializable, Comparable<TypeKind>, Constable
public enum TypeKind extends Enum<TypeKind>
returnAddress (JVMS §2.3.3), но включён тип void (JVMS §4.3.3), который используется как тип возвращаемого значения метода. Тип returnAddress используется только в устаревших инструкциях перехода к подпрограмме и возврата из подпрограммы. Инструкции перехода к подпрограмме помещают returnAddress в стек операндов; инструкции astore сохраняют
returnAddress из стека операндов в локальные переменные; инструкции возврата из подпрограммы загружают returnAddress из локальных переменных.
Вычислительный тип
В формате файлаclass, локальных переменных (JVMS §2.6.1) и стека операндов (JVMS §2.6.2) виртуальной машины Java типы boolean, byte, char и short не существуют и представлены вычислительным типом int. int, float, reference, returnAddress, long и doule — это вычислительные типы виртуальной машины Java.- См. Спецификацию виртуальной машины Java:
- 2.2 Типы данных
2.11.1 Типы и виртуальная машина Java
- Начиная с:
- 24
Краткое описание вложенных классов
Вложенные классы и интерфейсы, объявленные в классе Enum
Enum.EnumDesc<E> | Модификатор и тип | Класс | Описание |
|---|---|---|
static final class |
Enum.EnumDesc<E extends Enum<E>> |
Номинальный дескриптор константы enum. |
Краткое описание констант перечисления
| Константа перечисления | Описание |
|---|---|
BOOLEAN |
Примитивный тип boolean. |
BYTE |
Примитивный тип byte. |
CHAR |
Примитивный тип char. |
DOUBLE |
Примитивный тип double. |
FLOAT |
Примитивный тип float. |
INT |
Примитивный тип int. |
LONG |
Примитивный тип long. |
REFERENCE |
Ссылочный тип. |
SHORT |
Примитивный тип short. |
VOID |
Тип void, обозначающий отсутствие значения. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
TypeKind |
asLoadable() |
|
static TypeKind |
from |
Возвращает тип, связанный с указанным дескриптором поля. |
static TypeKind |
fromDescriptor |
Возвращает тип, связанный с указанным дескриптором поля. |
static TypeKind |
fromNewarrayCode |
Возвращает тип компонента, описанный кодом массива, используемым в качестве операнда инструкции newarray. |
int |
newarrayCode() |
Возвращает код, используемый инструкцией newarray для создания массива этого типа компонента, или -1, если этот тип не поддерживается newarray. |
int |
slotSize() |
Возвращает количество индексов локальных переменных или глубину стека операндов, занимаемых этим типом. |
ClassDesc |
upperBound() |
Возвращает наиболее конкретный дескриптор поля верхней границы, в котором можно сохранить любое значение этого типа. |
static TypeKind |
valueOf |
Возвращает константу перечисления этого класса с указанным именем. |
static TypeKind[] |
values() |
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления. |
Методы, объявленные в классе Enum
clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf | Модификатор и тип | Метод | Описание |
|---|---|---|
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() |
Возвращает порядковый номер этой константы перечисления (её позицию в объявлении перечисления; первой константе присваивается номер 0). |
String |
toString() |
Возвращает имя этой константы перечисления, указанное в объявлении. |
static <T extends Enum<T>> |
valueOf |
Возвращает константу указанного класса перечисления с указанным именем. |
Методы, объявленные в классе Object
getClass, notify, notifyAll, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
final void |
wait() |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения заданного периода реального времени. |
final void |
wait |
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения заданного периода реального времени. |
Подробное описание констант перечисления
BOOLEAN
public static final TypeKind BOOLEAN
boolean. Его вычислительный тип — int. 0 представляет false, а 1 представляет true. При загрузке в стек операндов он расширяется нулями до int, а при сохранении сужается посредством побитового И с 1.- См. Спецификацию виртуальной машины Java:
- 2.3.4 Тип
boolean
BYTE
public static final TypeKind BYTE
byte. Его вычислительный тип — int. При загрузке в стек операндов он расширяется знаковым битом до int, а при сохранении усекается.CHAR
public static final TypeKind CHAR
char. Его вычислительный тип — int. При загрузке в стек операндов он расширяется нулями до int, а при сохранении усекается.SHORT
public static final TypeKind SHORT
short. Его вычислительный тип — int. При загрузке в стек операндов он расширяется знаковым битом до int, а при сохранении усекается.INT
public static final TypeKind INT
int.LONG
public static final TypeKind LONG
long. Он относится к категории 2.FLOAT
public static final TypeKind FLOAT
float. При загрузке и сохранении все значения NaN типа float могут как сводиться, так и не сводиться к одному «каноническому» значению NaN.DOUBLE
public static final TypeKind DOUBLE
double. Он относится к категории 2. При загрузке и сохранении все значения NaN типа double могут как сводиться, так и не сводиться к одному «каноническому» значению NaN.REFERENCE
public static final TypeKind REFERENCE
- См. Спецификацию виртуальной машины Java:
- 2.4 Ссылочные типы и значения
VOID
public static final TypeKind VOID
void, обозначающий отсутствие значения. Хотя это не тип данных, он может использоваться как тип возвращаемого значения метода, указывающий на отсутствие изменений глубины стека операндов.- См. Спецификацию виртуальной машины Java:
- 4.3.3 Дескрипторы методов
Подробное описание методов
values
public static TypeKind[] values()
- Возвращает:
- массив, содержащий константы этого класса перечисления в порядке их объявления
valueOf
public static TypeKind valueOf(String name)
- Параметры:
-
name— имя возвращаемой константы перечисления. - Возвращает:
- константу перечисления с указанным именем
- Вызывает:
-
IllegalArgumentException— если в этом классе перечисления нет константы с указанным именем -
NullPointerException— если аргумент равен null
upperBound
public ClassDesc upperBound()
void это дескриптор примитивного класса, а для reference — дескриптор Object.- Возвращает:
- наиболее конкретный дескриптор поля верхней границы, в котором можно сохранить любое значение этого типа
newarrayCode
public int newarrayCode()
newarray для создания массива этого типа компонента, или -1, если этот тип не поддерживается newarray.- Возвращает:
- код, используемый инструкцией
newarrayдля создания массива этого типа компонента, или-1, если этот тип не поддерживаетсяnewarray - См. Спецификацию виртуальной машины Java:
- 6.5.newarray newarray
- См. также:
slotSize
public int slotSize()
pop и pop2.- Возвращает:
- количество индексов локальных переменных или глубину стека операндов, занимаемых этим типом
- См. Спецификацию виртуальной машины Java:
- 2.6.1 Локальные переменные
2.6.2 Стеки операндов
asLoadable
public TypeKind asLoadable()
- Возвращает:
- вычислительный тип для этого типа или
voidдляvoid - См. также:
fromNewarrayCode
public static TypeKind fromNewarrayCode(int newarrayCode)
newarray.- Параметры:
-
newarrayCode— операнд инструкцииnewarray - Возвращает:
- тип компонента, описанный кодом массива, используемым в качестве операнда инструкции
newarray - Вызывает:
-
IllegalArgumentException— если код недопустим - См. Спецификацию виртуальной машины Java:
- 6.5.newarray newarray
- См. также:
fromDescriptor
public static TypeKind fromDescriptor(CharSequence s)
- Параметры:
-
s— дескриптор поля - Возвращает:
- тип, связанный с указанным дескриптором поля
- Вызывает:
-
IllegalArgumentException— только если дескриптор недопустим
from
public static TypeKind from(TypeDescriptor.OfField<?> descriptor)
- Параметры:
-
descriptor— дескриптор поля - Возвращает:
- тип, связанный с указанным дескриптором поля
© 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.