Interface Utf8Entry
- All Superinterfaces:
AnnotationConstantValueEntry,CharSequence,PoolEntry
CONSTANT_UTF8_info constant, representing strings, in the
constant pool of a class file. This describes strings in the
Modified UTF-8 format.
The use of a Utf8Entry is represented by a String.
Conversions are through ConstantPoolBuilder.utf8Entry(String) and
stringValue().
Some uses of Utf8Entry represent field or method descriptor strings, symbolically
represented as ClassDesc or MethodTypeDesc, depending on
where a Utf8Entry appear. Entries representing such uses are created
with ConstantPoolBuilder.utf8Entry(ClassDesc) and ConstantPoolBuilder.utf8Entry(MethodTypeDesc), and they can be converted to
symbolic descriptors on a per-use-site basis, such as in AnnotationValue.OfClass.classSymbol() and MethodModel.methodTypeSymbol().
Unlike most constant pool entries, a UTF-8 entry is of flexible length: it is
represented as an array structure, with an u2 for the data length in
bytes, followed by that number of bytes of Modified UTF-8 data. It can
represent at most 65535 bytes of data due to the physical restrictions.
- See Java Virtual Machine Specification:
-
4.4.7 The
CONSTANT_Utf8_infoStructure - Since:
- 24
- See Also:
-
Field Summary
Fields declared in interface 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 -
Method Summary
Modifier and TypeMethodDescriptionbooleanReturns whether this entry describes the same string as the provided string.Returns the string value for this entry.Methods declared in interface java.lang.classfile.constantpool.AnnotationConstantValueEntry
constantValueMethods declared in interface java.lang.CharSequence
charAt, chars, codePoints, isEmpty, length, subSequence, toStringMethods declared in interface java.lang.classfile.constantpool.PoolEntry
constantPool, index, tag, width
-
Method Details
-
stringValue
String stringValue()Returns the string value for this entry.- API Note:
- A
Utf8Entrycan be used directly as aCharSequenceifStringfunctionalities are not strictly desired. If only string equivalence is desired,equalsStringshould be used. Reduction of string processing can significantly improveclassfile reading performance. - Returns:
- the string value for this entry
- See Also:
-
equalsString
Returns whether this entry describes the same string as the provided string.- Parameters:
s- the string to compare to- Returns:
- whether this entry describes the same string as the provided string
-