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_info
Structure - Since:
- 24
- See Also:
-
Field Summary
Fields inherited from interface 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 TypeMethodDescriptionboolean
Returns whether this entry describes the same string as the provided string.Returns the string value for this entry.Methods inherited from interface AnnotationConstantValueEntry
constantValue
Methods inherited from interface CharSequence
charAt, chars, codePoints, isEmpty, length, subSequence, toString
Methods inherited from interface PoolEntry
constantPool, index, tag, width
-
Method Details
-
stringValue
String stringValue()Returns the string value for this entry.- API Note:
- A
Utf8Entry
can be used directly as aCharSequence
ifString
functionalities are not strictly desired. If only string equivalence is desired,equalsString
should be used. Reduction of string processing can significantly improveclass
file 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
-