StringEntry (Java SE 25 & JDK 25)
Description: declaration: module: java.base, package: java.lang.classfile.constantpool, interface: StringEntry
Keywords: java.lang.classfile.constantpool.StringEntry interface

# Interface StringEntry

All Superinterfaces:
  `ConstantValueEntry, LoadableConstantEntry, PoolEntry`

public sealed interface StringEntry extends ConstantValueEntry
Models a `CONSTANT_String_info` structure, or a string constant, in the constant pool of a `class` file.

The use of a `StringEntry` is represented by a `String`. Conversions are through `ConstantPoolBuilder.stringEntry(String)` and `stringValue()`.

A string entry is composite:

    StringEntry(Utf8Entry utf8)

See Java Virtual Machine Specification:
  4.4.3 The `CONSTANT_String_info` Structure
Since:
  24

- ## Field Summary

  ### Fields declared in 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 Type
  Method
  Description
  `boolean`
  `equalsString(String value)`
  Returns whether this entry describes the same string as the provided string.
  `String`
  `stringValue()`
  Returns the string value for this entry.
  `Utf8Entry`
  `utf8()`
  Returns the UTF constant pool entry describing the string contents.

  ### Methods declared in interface ConstantValueEntry

  `constantValue`

  ### Methods declared in interface LoadableConstantEntry

  `typeKind`

  ### Methods declared in interface PoolEntry

  `constantPool, index, tag, width`

- ## Method Details

  - ### utf8

    Utf8Entry utf8()
    Returns the UTF constant pool entry describing the string contents.
    Returns:
      the UTF constant pool entry describing the string contents
    See Also:
      - `ConstantPoolBuilder.stringEntry(Utf8Entry)`

  - ### stringValue

    String stringValue()
    Returns the string value for this entry.
    API Note:
      A `Utf8Entry` can be used directly as a `CharSequence` if `String` functionalities are not strictly desired. If only string equivalence is desired, `equalsString` should be used. Reduction of string processing can significantly improve `class` file reading performance.
    Returns:
      the string value for this entry
    See Also:
      - `ConstantPoolBuilder.stringEntry(String)`

  - ### equalsString

    boolean equalsString(String value)
    Returns whether this entry describes the same string as the provided string.
    Parameters:
      `value` - the string to compare to
    Returns:
      whether this entry describes the same string as the provided string
    Since:
      25