Field getAnnotatedType() method in Java With Examples (original) (raw)
Last Updated : 30 May, 2022
The getAnnotatedType() method of java.lang.reflect.Field is used to return an annonatedType object that represents the use of a type to specify the declared type of the field. Every Field of the class is declared by some AnnotatedType.AnnotatedType represents the potentially annotated use of any type including an array type, a parameterized type, a type variable, or a wildcard type currently running in Java Virtual Machine. The returned AnnotatedType instance can be an implementation of AnnotatedType itself or an implementation of one of its sub-interfaces: AnnotatedArrayType, AnnotatedParameterizedType, AnnotatedTypeVariable, AnnotatedWildcardType.
Syntax:
public AnnotatedType getAnnotatedType()
Parameters: This method accepts nothing. Return: This method returns an object representing the declared type of the field represented by this Field. Below programs illustrate getAnnotatedType() method:
Program 1:
Java
import
java.lang.reflect.AnnotatedType;
import
java.lang.reflect.Field;
import
java.util.Arrays;
public
class
GFG {
`` private
int
number;
`` public
static
void
main(String[] args)
`` throws
NoSuchFieldException
`` {
`` Field field
`` = GFG.
class
`` .getDeclaredField("number");
`` AnnotatedType annotatedType
`` = field.getAnnotatedType();
`` System.out.println(
`` "Type: "
`` + annotatedType
`` .getType()
`` .getTypeName());
`` System.out.println(
`` "Annotations: "
`` + Arrays
`` .toString(
`` annotatedType
`` .getAnnotations()));
`` }
}
Output:
Type: int Annotations: []
Program 2:
Java
import
java.lang.annotation.*;
import
java.lang.reflect.*;
import
java.util.Arrays;
public
class
GFG {
`` private
int
@SpecialNumber
[] number;
`` public
static
void
main(String[] args)
`` throws
NoSuchFieldException
`` {
`` Field field
`` = GFG.
class
`` .getDeclaredField("number");
`` AnnotatedType annotatedType
`` = field.getAnnotatedType();
`` System.out.println(
`` "Type: "
`` + annotatedType
`` .getType()
`` .getTypeName());
`` System.out.println(
`` "Annotations: "
`` + Arrays
`` .toString(
`` annotatedType
`` .getAnnotations()));
`` System.out.println(
`` "Declared Annotations: "
`` + Arrays
`` .toString(
`` annotatedType
`` .getDeclaredAnnotations()));
`` }
`` @Target
({ ElementType.TYPE_USE })
`` @Retention
(RetentionPolicy.RUNTIME)
`` private
@interface
SpecialNumber {
`` }
}
Output:
Type: int[] Annotations: [@GFG$SpecialNumber()] Declared Annotations: [@GFG$SpecialNumber()]
References: https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getAnnotatedType–