Spec-Zone.ru › OpenJDK 25

Перечисление 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

Краткое описание вложенных классов

Вложенные классы/интерфейсы, объявленные в классе 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()
Возвращает вычислительный тип для этого типа или 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()
Возвращает массив, содержащий константы этого класса перечисления в порядке их объявления.

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

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

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

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 — дескриптор поля
Возвращает:
тип, соответствующий указанному дескриптору поля

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе документации Java SE, содержащем более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или ее аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или ее аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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

Spec-Zone.ru

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