AnnotationValue.OfArray (Java SE 26 & JDK 26)
Description: declaration: module: java.base, package: java.lang.classfile, interface: AnnotationValue, interface: OfArray
Keywords: java.lang.classfile.AnnotationValue.OfArray interface

# Interface AnnotationValue.OfArray

All Superinterfaces:
  `AnnotationValue`

Enclosing interface:
  `AnnotationValue`

public static sealed interface AnnotationValue.OfArray extends AnnotationValue
Models an array value of an element-value pair. The tag of this value is [.

Since:
  24

- ## Nested Class Summary

  ### Nested classes/interfaces declared in interface AnnotationValue

  `AnnotationValue.OfAnnotation, AnnotationValue.OfArray, AnnotationValue.OfBoolean, AnnotationValue.OfByte, AnnotationValue.OfChar, AnnotationValue.OfClass, AnnotationValue.OfConstant, AnnotationValue.OfDouble, AnnotationValue.OfEnum, AnnotationValue.OfFloat, AnnotationValue.OfInt, AnnotationValue.OfLong, AnnotationValue.OfShort, AnnotationValue.OfString`
  Modifier and Type
  Interface
  Description
  `static interface`
  `AnnotationValue.OfAnnotation`
  Models an annotation value of an element-value pair.
  `static interface`
  `AnnotationValue.OfArray`
  Models an array value of an element-value pair.
  `static interface`
  `AnnotationValue.OfBoolean`
  Models a boolean value of an element-value pair.
  `static interface`
  `AnnotationValue.OfByte`
  Models a byte value of an element-value pair.
  `static interface`
  `AnnotationValue.OfChar`
  Models a char value of an element-value pair.
  `static interface`
  `AnnotationValue.OfClass`
  Models a class value of an element-value pair.
  `static interface`
  `AnnotationValue.OfConstant`
  Models a constant value of an element-value pair.
  `static interface`
  `AnnotationValue.OfDouble`
  Models a double value of an element-value pair.
  `static interface`
  `AnnotationValue.OfEnum`
  Models an enum value of an element-value pair.
  `static interface`
  `AnnotationValue.OfFloat`
  Models a float value of an element-value pair.
  `static interface`
  `AnnotationValue.OfInt`
  Models an int value of an element-value pair.
  `static interface`
  `AnnotationValue.OfLong`
  Models a long value of an element-value pair.
  `static interface`
  `AnnotationValue.OfShort`
  Models a short value of an element-value pair.
  `static interface`
  `AnnotationValue.OfString`
  Models a string value of an element-value pair.

- ## Field Summary

  ### Fields declared in interface AnnotationValue

  `TAG_ANNOTATION, TAG_ARRAY, TAG_BOOLEAN, TAG_BYTE, TAG_CHAR, TAG_CLASS, TAG_DOUBLE, TAG_ENUM, TAG_FLOAT, TAG_INT, TAG_LONG, TAG_SHORT, TAG_STRING`
  Modifier and Type
  Field
  Description
  `static final int`
  `TAG_ANNOTATION`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfAnnotation`.
  `static final int`
  `TAG_ARRAY`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfArray`.
  `static final int`
  `TAG_BOOLEAN`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfBoolean`.
  `static final int`
  `TAG_BYTE`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfByte`.
  `static final int`
  `TAG_CHAR`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfChar`.
  `static final int`
  `TAG_CLASS`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfClass`.
  `static final int`
  `TAG_DOUBLE`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfDouble`.
  `static final int`
  `TAG_ENUM`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfEnum`.
  `static final int`
  `TAG_FLOAT`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfFloat`.
  `static final int`
  `TAG_INT`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfInt`.
  `static final int`
  `TAG_LONG`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfLong`.
  `static final int`
  `TAG_SHORT`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfShort`.
  `static final int`
  `TAG_STRING`
  The `tag` indicating the value of an element-value pair is `AnnotationValue.OfString`.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `List<AnnotationValue>`
  `values()`
  Returns the array elements of the array value.

  ### Methods declared in interface AnnotationValue

  `tag`
  Modifier and Type
  Method
  Description
  `int`
  `tag()`
  Returns the tag character for this value as per JVMS 4.7.16.1.

- ## Method Details

  - ### values

    List<AnnotationValue> values()
    Returns the array elements of the array value.
    API Note:
      All array elements derived from Java source code have the same type, which must not be an array type. (JLS 9.6.1) If such elements are annotations, they have the same annotation interface; if such elements are enum, they belong to the same enum class.
    Returns:
      the array elements of the array value