Интерфейс 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
- См. также:
Краткое описание полей
Поля, объявленные в интерфейсе 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 |
Возвращает значение, указывающее, описывает ли эта запись ту же строку, что и переданная строка. |
boolean |
isFieldType |
Возвращает значение, указывающее, описывает ли эта запись строку дескриптора данного типа поля. |
boolean |
isMethodType |
Возвращает значение, указывающее, описывает ли эта запись строку дескриптора данного типа метода. |
String |
stringValue() |
Возвращает строковое значение этой записи. |
Методы, объявленные в интерфейсе AnnotationConstantValueEntry
constantValue | Модификатор и тип | Метод | Описание |
|---|---|---|
ConstantDesc |
constantValue() |
Возвращает значение константы. |
Методы, объявленные в интерфейсе CharSequence
charAt, chars, codePoints, getChars, isEmpty, length, subSequence, toString | Модификатор и тип | Метод | Описание |
|---|---|---|
char |
charAt |
Возвращает значение char по указанному индексу. |
default IntStream |
chars() |
Возвращает поток int, дополняющий нулями значения char из этой последовательности. |
default IntStream |
codePoints() |
Возвращает поток значений кодовых точек из этой последовательности. |
default void |
getChars |
Копирует символы из этой последовательности в указанный массив назначения. |
default boolean |
isEmpty() |
Возвращает true, если эта символьная последовательность пуста. |
int |
length() |
Возвращает длину этой символьной последовательности. |
CharSequence |
subSequence |
Возвращает 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. - Возвращает:
- строковое значение этой записи
- См. также:
equalsString
boolean equalsString(String s)
- Параметры:
-
s— строка для сравнения - Возвращает:
- значение, указывающее, описывает ли эта запись ту же строку, что и переданная строка
isFieldType
boolean isFieldType(ClassDesc desc)
- Параметры:
-
desc— тип поля - Возвращает:
- значение, указывающее, описывает ли эта запись строку дескриптора данного типа поля
- Начиная с:
- 25
isMethodType
boolean isMethodType(MethodTypeDesc desc)
- Параметры:
-
desc— тип метода - Возвращает:
- значение, указывающее, описывает ли эта запись строку дескриптора данного типа метода
- Начиная с:
- 25
© 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.