Spec-Zone.ru › OpenJDK 24

Интерфейс ClassEntry

Все суперинтерфейсы:
LoadableConstantEntry, PoolEntry
public sealed interface ClassEntry extends LoadableConstantEntry
Моделирует структуру типа ссылки, представляющую тип ссылки в пуле констант файла 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
См. также:
  • ConstantPoolBuilder::classEntry
  • ClassDesc

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

Поля, объявленные в интерфейсе 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

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

Модификатор и тип Метод Описание
String asInternalName()
Возвращает представленный тип ссылки, как внутренний вид двоичного имени или строку-описание массива.
ClassDesc asSymbol()
Возвращает представленный тип ссылки в виде символического описания.
default ConstantDesc constantValue()
Возвращает символическое описание этой константы.
Utf8Entry name()
Возвращает Utf8Entry, к которому ссылается эта структура.

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

typeKind

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

constantPool, index, tag, width

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

constantValue

default ConstantDesc constantValue()
Возвращает символическое описание этой константы.

Это эквивалентно asSymbol().

Определено:
constantValue в интерфейсе LoadableConstantEntry
Возвращает:
символическое описание этой константы
См. также:
  • ConstantPoolBuilder.loadableConstantEntry(ConstantDesc)

name

Utf8Entry name()
Возвращает Utf8Entry, к которому ссылается эта структура. Если значение UTF8 начинается с [, это представляет тип массива, а значение — строка описания; в противном случае это представляет класс или интерфейс, а значение — внутренний вид двоичного имени.
Возвращает:
Utf8Entry, к которому ссылается эта структура
См. также:
  • ConstantPoolBuilder::classEntry(Utf8Entry)

asInternalName

String asInternalName()
Возвращает представленный тип ссылки как внутренний вид двоичного имени или строку-описание массива. Это сокращение для name().stringValue().
Возвращает:
представленный тип ссылки как внутренний вид двоичного имени или строку-описание массива

asSymbol

ClassDesc asSymbol()
Возвращает представленный тип ссылки как символическое описание. Возвращаемое описание никогда не является примитивным.
Возвращает:
представленный тип ссылки как символическое описание
См. также:
  • ConstantPoolBuilder::classEntry(ClassDesc)

© 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/ClassEntry.html

Spec-Zone.ru

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