Spec-Zone.ru › OpenJDK 24

Перечисление TypeKind

java.lang.Object
java.lang.Enum<TypeKind>
java.lang.classfile.TypeKind
Все реализуемые интерфейсы:
Serializable, Comparable<TypeKind>, Constable
public enum TypeKind extends Enum<TypeKind>
Описывает типы данных, с которыми работает виртуальная машина Java. Это опускает 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()
Возвращает вычислительный тип для данного типа или void для void.
static TypeKind from(TypeDescriptor.OfField<?> descriptor)
Возвращает тип, связанный с указанным описателем поля.
static TypeKind fromDescriptor(CharSequence s)
Возвращает тип, связанный с указанным описателем поля.
static TypeKind fromNewarrayCode(int newarrayCode)
Возвращает компонентный тип, описанный кодом массива, используемым в качестве операнда для newarray.
int newarrayCode()
Возвращает код, используемый инструкцией newarray для создания массива данного компонентного типа, или -1, если этот тип не поддерживается newarray.
int slotSize()
Возвращает количество индексов локальных переменных или глубину стека операндов, потребляемых этим типом.
ClassDesc upperBound()
Возвращает наиболее специфичный описатель поля верхнего уровня, который может хранить любое значение данного типа.
static TypeKind valueOf(String name)
Возвращает константу перечисления этого класса с указанным именем.
static TypeKind[] values()
Возвращает массив, содержащий константы этого перечисления в порядке их объявления.

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

clone, compareTo, describeConstable, equals, finalize, getDeclaringClass, hashCode, name, ordinal, toString, valueOf

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

getClass, notify, notifyAll, wait, wait, 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 и Object - описатель для reference.
Возвращает:
наиболее специфичный верхний предел описателя поля, который может хранить любое значение этого типа

newarrayCode

public int newarrayCode()
Возвращает код, используемый инструкцией newarray для создания массива этого типа компонента, или -1, если этот тип не поддерживается newarray.
Возвращает:
код, используемый инструкцией newarray для создания массива этого типа компонента, или -1, если этот тип не поддерживается newarray
См. Спецификацию виртуальной машины Java:
6.5.newarray newarray
См. также:
  • NewPrimitiveArrayInstruction
  • fromNewarrayCode(int)

slotSize

public int slotSize()
Возвращает количество индексов локальных переменных или глубину стека операндов, потребляемых этим типом. Это также категория этого типа для инструкций, работающих со стеком операндов без учета типа (JVMS 2.11.1), таких как pop по сравнению с pop2.
Возвращает:
количество индексов локальных переменных или глубину стека операндов, потребляемых этим типом
См. Спецификацию виртуальной машины Java:
2.6.1 Локальные переменные
2.6.2 Стек операндов

asLoadable

public TypeKind asLoadable()
Возвращает вычислительный тип для этого типа или void для void.
Возвращает:
вычислительный тип для этого типа или void для void
См. также:
  • LoadInstruction
  • StoreInstruction

fromNewarrayCode

public static TypeKind fromNewarrayCode(int newarrayCode)
Возвращает тип компонента, описанный кодом массива, используемым в качестве операнда для newarray.
Параметры:
newarrayCode - операнд инструкции newarray
Возвращает:
тип компонента, описанный кодом массива, используемым в качестве операнда для newarray
Изволяет:
IllegalArgumentException - если код недействителен
См. Спецификацию виртуальной машины Java:
6.5.newarray newarray
См. также:
  • NewPrimitiveArrayInstruction
  • newarrayCode()

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

Spec-Zone.ru

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