LoadableConstantEntry, PoolEntrypublic sealed interface ClassEntry extends LoadableConstantEntry
CONSTANT_Class_info structure, representing a reference type, in the constant pool of a class file. The use of a ClassEntry is modeled by a ClassDesc that is not primitive. Conversions are through ConstantPoolBuilder.classEntry(ClassDesc) and asSymbol().
A ClassEntry is composite:
ClassEntry(Utf8Entry name)
name represents: ClassEntry represents a class or interface, such as
java/lang/String for the String class. ClassEntry represents an array type, such as [I for the int[] type, or [Ljava/lang/String; for the String[] type. '[' character.. in the name are replaced by /, is informally known as an internal name. This concept also applies to package names in addition to class and interface names.CONSTANT_Class_info StructureTAG_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
| Modifier and Type | Method | Description |
|---|---|---|
String |
asInternalName() |
Returns the represented reference type, as the internal form of a binary name or an array descriptor string. |
ClassDesc |
asSymbol() |
Returns the represented reference type, as a symbolic descriptor. |
default ConstantDesc |
constantValue() |
Returns a symbolic descriptor of this constant. |
boolean |
matches |
Returns whether this entry describes the given reference type. |
Utf8Entry |
name() |
Returns the Utf8Entry referred by this structure. |
typeKind
constantPool, index, tag, width
default ConstantDesc constantValue()
This is equivalent to asSymbol().
constantValue in interface LoadableConstantEntry
Utf8Entry name()
Utf8Entry referred by this structure. If the value of the UTF8 starts with a [, this represents an array type and the value is a descriptor string; otherwise, this represents a class or interface and the value is the internal form of a binary name.Utf8Entry referred by this structureString asInternalName()
name().stringValue().ClassDesc asSymbol()
matches should be used. It requires reduced parsing and can improve class file reading performance.boolean matches(ClassDesc desc)
false if desc is primitive.desc - the reference type
© 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