Spec-Zone.ru › OpenJDK 27

Интерфейс Utf8Entry

Все суперинтерфейсы:
AnnotationConstantValueEntry, CharSequence, PoolEntry
public sealed interface Utf8Entry extends CharSequence, AnnotationConstantValueEntry
Моделирует константу CONSTANT_UTF8_info, представляющую строки в пуле констант файла class. Она описывает строки в формате модифицированного UTF-8.

Использование Utf8Entry представлено объектом String. Преобразования выполняются с помощью ConstantPoolBuilder.utf8Entry(String) и stringValue().

Некоторые варианты использования Utf8Entry представляют строки дескрипторов полей или методов, символически представленные как ClassDesc или MethodTypeDesc — в зависимости от того, где встречается Utf8Entry. Записи для таких вариантов использования создаются с помощью ConstantPoolBuilder.utf8Entry(ClassDesc) и ConstantPoolBuilder.utf8Entry(MethodTypeDesc). Их можно преобразовывать в символические дескрипторы отдельно для каждого места использования, например, в AnnotationValue.OfClass.classSymbol() и MethodModel.methodTypeSymbol().

В отличие от большинства записей пула констант, запись UTF-8 имеет переменную длину: она представлена структурой массива, содержащей u2 с длиной данных в байтах, за которым следует указанное количество байтов данных в модифицированном формате UTF-8. Из-за физических ограничений u2 запись может содержать не более 65535 байт данных.

См. Спецификацию виртуальной машины Java:
4.4.7 Структура CONSTANT_Utf8_info
Начиная с:
24
См. также:
  • Модифицированный UTF-8

Краткое описание полей

Поля, объявленные в интерфейсе PoolEntry

TAG_CLASS, TAG_DOUBLE, TAG_DYNAMIC, TAG_FIELDREF, TAG_FLOAT, TAG_INTEGER, TAG_INTERFACE_METHODREF, TAG_INVOKE_DYNAMIC, TAG_LONG, TAG_METHOD_HANDLE, TAG_METHOD_TYPE, TAG_METHODREF, TAG_MODULE, TAG_NAME_AND_TYPE, TAG_PACKAGE, TAG_STRING, TAG_UTF8
Модификатор и тип Поле Описание
static final int TAG_CLASS
Тег для вида константы CONSTANT_Class.
static final int TAG_DOUBLE
Тег для вида константы CONSTANT_Double.
static final int TAG_DYNAMIC
Тег для вида константы CONSTANT_Dynamic.
static final int TAG_FIELDREF
Тег для вида константы CONSTANT_Fieldref.
static final int TAG_FLOAT
Тег для вида константы CONSTANT_Float.
static final int TAG_INTEGER
Тег для вида константы CONSTANT_Integer.
static final int TAG_INTERFACE_METHODREF
Тег для вида константы CONSTANT_InterfaceMethodref.
static final int TAG_INVOKE_DYNAMIC
Тег для вида константы CONSTANT_InvokeDynamic.
static final int TAG_LONG
Тег для вида константы CONSTANT_Long.
static final int TAG_METHOD_HANDLE
Тег для вида константы CONSTANT_MethodHandle.
static final int TAG_METHOD_TYPE
Тег для вида константы CONSTANT_MethodType.
static final int TAG_METHODREF
Тег для вида константы CONSTANT_Methodref.
static final int TAG_MODULE
Тег для вида константы CONSTANT_Module.
static final int TAG_NAME_AND_TYPE
Тег для вида константы CONSTANT_NameAndType.
static final int TAG_PACKAGE
Тег для вида константы CONSTANT_Package.
static final int TAG_STRING
Тег для вида константы CONSTANT_String.
static final int TAG_UTF8
Тег для вида константы CONSTANT_Utf8.

Краткое описание методов

Модификатор и тип Метод Описание
boolean equalsString(String s)
Возвращает значение, указывающее, описывает ли эта запись ту же строку, что и переданная строка.
boolean isFieldType(ClassDesc desc)
Возвращает значение, указывающее, описывает ли эта запись строку дескриптора данного типа поля.
boolean isMethodType(MethodTypeDesc desc)
Возвращает значение, указывающее, описывает ли эта запись строку дескриптора данного типа метода.
String stringValue()
Возвращает строковое значение этой записи.

Методы, объявленные в интерфейсе AnnotationConstantValueEntry

constantValue
Модификатор и тип Метод Описание
ConstantDesc constantValue()
Возвращает значение константы.

Методы, объявленные в интерфейсе CharSequence

charAt, chars, codePoints, getChars, isEmpty, length, subSequence, toString
Модификатор и тип Метод Описание
char charAt(int index)
Возвращает значение char по указанному индексу.
default IntStream chars()
Возвращает поток int, дополняющий нулями значения char из этой последовательности.
default IntStream codePoints()
Возвращает поток значений кодовых точек из этой последовательности.
default void getChars(int srcBegin, int srcEnd, char[] dst, int dstBegin)
Копирует символы из этой последовательности в указанный массив назначения.
default boolean isEmpty()
Возвращает true, если эта символьная последовательность пуста.
int length()
Возвращает длину этой символьной последовательности.
CharSequence subSequence(int start, int end)
Возвращает CharSequence, являющуюся подпоследовательностью этой последовательности.
String toString()
Возвращает строку, содержащую символы этой последовательности в том же порядке.

Методы, объявленные в интерфейсе PoolEntry

constantPool, index, tag, width
Модификатор и тип Метод Описание
ConstantPool constantPool()
Возвращает пул констант, из которого взята эта запись.
int index()
Возвращает индекс этой записи в пуле констант.
int tag()
Возвращает тег пула констант, описывающий тип этой записи.
int width()
Возвращает количество слотов пула констант, занимаемых этой записью.

Подробное описание методов

stringValue

String stringValue()
Возвращает строковое значение этой записи.
Примечание к API:
Объект Utf8Entry можно напрямую использовать как CharSequence, если функциональность String не является строго необходимой. Если требуется только сравнение строк на равенство, следует использовать equalsString. Сокращение обработки строк может значительно повысить производительность чтения файлов class.
Возвращает:
строковое значение этой записи
См. также:
  • ConstantPoolBuilder.utf8Entry(String)

equalsString

boolean equalsString(String s)
Возвращает значение, указывающее, описывает ли эта запись ту же строку, что и переданная строка.
Параметры:
s — строка для сравнения
Возвращает:
значение, указывающее, описывает ли эта запись ту же строку, что и переданная строка

isFieldType

boolean isFieldType(ClassDesc desc)
Возвращает значение, указывающее, описывает ли эта запись строку дескриптора данного типа поля.
Параметры:
desc — тип поля
Возвращает:
значение, указывающее, описывает ли эта запись строку дескриптора данного типа поля
Начиная с:
25

isMethodType

boolean isMethodType(MethodTypeDesc desc)
Возвращает значение, указывающее, описывает ли эта запись строку дескриптора данного типа метода.
Параметры:
desc — тип метода
Возвращает:
значение, указывающее, описывает ли эта запись строку дескриптора данного типа метода
Начиная с:
25

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по 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