Перечисление 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>
Краткое описание констант перечисления
| Константа перечисления | Описание |
|---|---|
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() |
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления. |
Подробное описание констант перечисления
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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/TypeKind.html