Интерфейс Utf8Entry
- Все суперинтерфейсы:
AnnotationConstantValueEntry, CharSequence, PoolEntry
public sealed interface Utf8Entry extends CharSequence, AnnotationConstantValueEntry
CONSTANT_UTF8_info, представляющую строки в пуле констант файла class. Описывает строки в формате Modified 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, задающее длину данных в байтах, за которым следует указанное количество байтов данных в формате Modified UTF-8. Из-за физических ограничений она может представлять не более 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
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
equalsString |
Возвращает значение, указывающее, описывает ли эта запись ту же строку, что и переданная строка. |
boolean |
isFieldType |
Возвращает значение, указывающее, описывает ли эта запись строку дескриптора данного типа поля. |
boolean |
isMethodType |
Возвращает значение, указывающее, описывает ли эта запись строку дескриптора данного типа метода. |
String |
stringValue() |
Возвращает строковое значение этой записи. |
Методы, объявленные в интерфейсе AnnotationConstantValueEntry
constantValue
Методы, объявленные в интерфейсе CharSequence
charAt, chars, codePoints, getChars, isEmpty, length, subSequence, toString
Методы, объявленные в интерфейсе PoolEntry
constantPool, index, tag, 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.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/constantpool/Utf8Entry.html