# Interface AnnotationConstantValueEntry

All Superinterfaces:
  `PoolEntry`

All Known Subinterfaces:
  `DoubleEntry, FloatEntry, IntegerEntry, LongEntry, Utf8Entry`

public sealed interface AnnotationConstantValueEntry extends PoolEntry permits DoubleEntry, FloatEntry, IntegerEntry, LongEntry, Utf8Entry
Marker interface for constant pool entries that can represent constant values associated with elements of annotations. They are also the only entries that do not refer to other constant pool entries.

API Note:
  An annotation constant value entry alone is not sufficient to determine the annotation constant; for example, an `IntegerEntry` of `1` can mean `true` in `AnnotationValue.OfBoolean` or `1` in `AnnotationValue.OfInt`.
See Java Virtual Machine Specification:
  4.7.16.1 The `element_value` structure
Since:
  24
See Also:
  - `AnnotationValue.OfConstant`

- ## 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
  `ConstantDesc`
  `constantValue()`
  Returns the constant value.

  ### Methods declared in interface PoolEntry

  `constantPool, index, tag, width`

- ## Method Details

  - ### constantValue

    ConstantDesc constantValue()
    Returns the constant value. The constant value will be an `Integer`, `Long`, `Float`, `Double` for the primitive constants, or `String` for UTF8 constants.
    Returns:
      the constant value