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

# Interface DoubleEntry

All Superinterfaces:
  `AnnotationConstantValueEntry, ConstantValueEntry, LoadableConstantEntry, PoolEntry`

public sealed interface DoubleEntry extends AnnotationConstantValueEntry, ConstantValueEntry
Models a `CONSTANT_Double_info` structure, representing a `double` constant, in the constant pool of a `class` file.

The use of a `DoubleEntry` is modeled by a `double`. Conversions are through `ConstantPoolBuilder.doubleEntry(double)` and `doubleValue()`. In the conversions, all NaN values of the `double` may or may not be collapsed into a single "canonical" NaN value.

A double entry has a width of `2`, making its subsequent constant pool index valid and unusable.

See Java Virtual Machine Specification:
  4.4.5 The `CONSTANT_Long_info` and `CONSTANT_Double_info` Structures
Since:
  24
See Also:
  - `ConstantPoolBuilder::doubleEntry`

- ## 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
  `double`
  `doubleValue()`
  Returns the `double` value.

  ### Methods declared in interface AnnotationConstantValueEntry

  `constantValue`

  ### Methods declared in interface ConstantValueEntry

  `constantValue`

  ### Methods declared in interface LoadableConstantEntry

  `typeKind`

  ### Methods declared in interface PoolEntry

  `constantPool, index, tag, width`

- ## Method Details

  - ### doubleValue

    double doubleValue()
    Returns the `double` value.
    Returns:
      the `double` value
    See Also:
      - `ConstantPoolBuilder::doubleEntry(double)`