Интерфейс ClassEntry
- Все суперинтерфейсы:
LoadableConstantEntry, PoolEntry
public sealed interface ClassEntry extends LoadableConstantEntry
CONSTANT_Class_info, представляющую ссылочный тип в пуле констант файла class. Использование ClassEntry моделируется объектом ClassDesc, который не является примитивным. Преобразования выполняются с помощью ConstantPoolBuilder.classEntry(ClassDesc) и asSymbol().
ClassEntry является составным:
ClassEntry(Utf8Entry name)
name представляет собой: - Внутреннюю форму бинарного имени (JVMS 4.2.1), если и только если этот
ClassEntryпредставляет класс или интерфейс, напримерjava/lang/Stringдля классаString. - Строку дескриптора поля (JVMS 4.3.2), представляющую тип массива, если и только если этот
ClassEntryпредставляет тип массива, например[Iдля типаint[]или[Ljava/lang/String;для типаString[].
'['.- Примечание к API:
- Внутренняя форма бинарного имени, в которой все вхождения
.в имени заменены на/, неофициально называется внутренним именем. Это понятие также применяется к именам пакетов, а не только к именам классов и интерфейсов. - См. Спецификацию виртуальной машины Java:
- 4.4.1 Структура
CONSTANT_Class_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
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
String |
asInternalName() |
Возвращает представленный ссылочный тип в виде внутренней формы бинарного имени или строки дескриптора массива. |
ClassDesc |
asSymbol() |
Возвращает представленный ссылочный тип в виде символического дескриптора. |
default ConstantDesc |
constantValue() |
Возвращает символический дескриптор этой константы. |
boolean |
matches |
Возвращает, описывает ли эта запись указанный ссылочный тип. |
Utf8Entry |
name() |
Возвращает Utf8Entry, на которую ссылается эта структура. |
Методы, объявленные в интерфейсе LoadableConstantEntry
typeKind
Методы, объявленные в интерфейсе PoolEntry
constantPool, index, tag, width
Подробное описание методов
constantValue
default ConstantDesc constantValue()
Это эквивалентно asSymbol().
- Определено в:
-
constantValueв интерфейсеLoadableConstantEntry - Возвращает:
- символический дескриптор этой константы
- См. также:
name
Utf8Entry name()
Utf8Entry, на которую ссылается эта структура. Если значение UTF8 начинается с [, это представляет тип массива, а значение является строкой дескриптора; в противном случае это представляет класс или интерфейс, а значение является внутренней формой бинарного имени.- Возвращает:
Utf8Entry, на которую ссылается эта структура- См. также:
asInternalName
String asInternalName()
name().stringValue().- Возвращает:
- представленный ссылочный тип в виде внутренней формы бинарного имени или строки дескриптора массива
asSymbol
ClassDesc asSymbol()
- Примечание к API:
- Если требуется только эквивалентность символов, следует использовать
matches. Это требует меньшего объёма разбора и может повысить производительность чтения файловclass. - Возвращает:
- представленный ссылочный тип в виде символического дескриптора
- См. также:
matches
boolean matches(ClassDesc desc)
false, если 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/ClassEntry.html