Spec-Zone.ru › OpenJDK 27

Класс перечисления 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>
Модификатор и тип Класс Описание
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()
Возвращает вычислительный тип для этого типа или 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
Модификатор и тип Метод Описание
protected final Object clone()
Вызывает исключение CloneNotSupportedException.
final int compareTo(TypeKind o)
Сравнивает это перечисление с указанным объектом, определяя их порядок.
final Optional<Enum.EnumDesc<TypeKind>> describeConstable()
Возвращает дескриптор перечисления EnumDesc для этого экземпляра, если его можно создать, или пустой объект Optional, если создать его нельзя.
final boolean equals(Object other)
Возвращает true, если указанный объект равен этой константе перечисления.
protected final void finalize()
Устарело, подлежит удалению: этот элемент API будет удалён в будущей версии.
Финализация признана устаревшей и подлежит удалению.
final Class<TypeKind> getDeclaringClass()
Возвращает объект Class, соответствующий типу перечисления этой константы.
final int hashCode()
Возвращает хеш-код этой константы перечисления.
final String name()
Возвращает имя этой константы перечисления точно в том виде, в каком оно объявлено в объявлении перечисления.
final int ordinal()
Возвращает порядковый номер этой константы перечисления (её позицию в объявлении перечисления; первой константе присваивается номер 0).
String toString()
Возвращает имя этой константы перечисления, указанное в объявлении.
static <T extends Enum<T>>
T
valueOf(Class<T> enumClass, String name)
Возвращает константу указанного класса перечисления с указанным именем.

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

getClass, notify, notifyAll, wait, wait, wait
Модификатор и тип Метод Описание
final Class<?> getClass()
Возвращает класс времени выполнения этого Object.
final void notify()
Пробуждает один поток, ожидающий на мониторе этого объекта.
final void notifyAll()
Пробуждает все потоки, ожидающие на мониторе этого объекта.
final void wait()
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения заданного периода реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно посредством уведомления или прерывания, либо истечения заданного периода реального времени.

Подробное описание констант перечисления

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, 2026, 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.

Spec-Zone.ru

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