Spec-Zone.ru › OpenJDK 24

Интерфейс 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 имеет переменную длину: она представляется как структура массива, со значением длины данных в байтах, за которым следуют эти байты данных в формате Изменённый UTF-8. Максимальный размер данных составляет 65535 байтов из-за физических ограничений.

См. Спецификацию виртуальной машины Java:
4.4.7 Структура CONSTANT_Utf8_info
С:
24
См. также:
  • Изменённый UTF-8

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

Поля, объявленные в интерфейсе java.lang.classfile.constantpool.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(String s)
Возвращает, описывает ли эта запись ту же строку, что и предоставленная строка.
String stringValue()
Возвращает строковое значение для этой записи.

Методы, объявленные в интерфейсе java.lang.classfile.constantpool.AnnotationConstantValueEntry

constantValue

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

charAt, chars, codePoints, isEmpty, length, subSequence, toString

Методы, объявленные в интерфейсе java.lang.classfile.constantpool.PoolEntry

constantPool, index, tag, width

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

stringValue

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

equalsString

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/lang/classfile/constantpool/Utf8Entry.html

Spec-Zone.ru

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