AnnotationValueAnnotationValue.OfBoolean, AnnotationValue.OfByte, AnnotationValue.OfChar, AnnotationValue.OfDouble, AnnotationValue.OfFloat, AnnotationValue.OfInt, AnnotationValue.OfLong, AnnotationValue.OfShort, AnnotationValue.OfStringAnnotationValuepublic static sealed interface AnnotationValue.OfConstant extends AnnotationValue permits AnnotationValue.OfString, AnnotationValue.OfDouble, AnnotationValue.OfFloat, AnnotationValue.OfLong, AnnotationValue.OfInt, AnnotationValue.OfShort, AnnotationValue.OfChar, AnnotationValue.OfByte, AnnotationValue.OfBoolean
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
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 | Method | Description |
|---|---|---|
AnnotationConstantValueEntry |
constant() |
Returns the constant pool entry backing this constant element. |
Constable |
resolvedValue() |
Returns the resolved live constant value, as an object. |
tag
AnnotationConstantValueEntry constant()
AnnotationValue.OfInt and AnnotationValue.OfChar are both backed by IntegerEntry. Use resolvedValue() for a value of accurate type.Constable resolvedValue()
String.Constable, may not describe the right constant for encoding the annotation value in a class file. For example, Character returned by AnnotationValue.OfChar describes itself as a DynamicConstantPoolEntry, but it is actually backed by IntegerEntry in annotation format. Use constant() for a correct constant pool representation.
© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/classfile/AnnotationValue.OfConstant.html