Перечисление 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
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе java.lang.Enum
Enum.EnumDesc<E extends Enum<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 и Object - описатель для reference.- Возвращает:
- наиболее специфичный верхний предел описателя поля, который может хранить любое значение этого типа
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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/TypeKind.html