The getDeclaredAnnotations() method of java.lang.Class class is used to get the declared annotations present in this class. The method returns an array of declared annotations present.
Syntax:
public DeclaredAnnotation[] getDeclaredAnnotations()
Parameter: This method does not accepts any parameter.
Return Value: This method returns an array of declared annotations present.
Below programs demonstrate the getDeclaredAnnotations() method.
Example 1:
// Java program to demonstrate// getDeclaredAnnotations() method  import java.util.*;import java.lang.annotation.*;  @Deprecatedpublic class Test {      public Object obj;      public static void main(String[] args)        throws ClassNotFoundException    {        try {            // returns the Class object for this class            Class myClass = Test.class;              System.out.println(                "Class represented by myClass: "                + myClass.toString());              // Get the declared annotation            // using getDeclaredAnnotations() method            System.out.println(                "DeclaredAnnotation of myClass: "                + Arrays.toString(                      myClass.getDeclaredAnnotations()));        }        catch (Exception e) {            System.out.println(e);        }    }} |
Output:
Class represented by myClass: class Test DeclaredAnnotation of myClass: [@java.lang.Deprecated()]
Example 2:
// Java program to demonstrate// getDeclaredAnnotations() method  import java.util.*;import java.lang.annotation.*;  // create a custom DeclaredAnnotation@Retention(RetentionPolicy.RUNTIME)@interface DeclaredAnnotation {      // This declared annotation has two attributes.    public String key();      public String value();}  // call DeclaredAnnotation for method// and pass values for declared annotation@DeclaredAnnotation(key = "GFG", value = "GeeksForGeeks")public class Test {      public Object obj;      public static void main(String[] args)        throws ClassNotFoundException    {          // returns the Class object for this class        Class myClass = Test.class;          System.out.println(            "Class represented by myClass: "            + myClass.toString());          // Get the declared annotation        // using getDeclaredAnnotations() method        System.out.println(            "DeclaredAnnotation of myClass: "            + Arrays.toString(                  myClass.getDeclaredAnnotations()));    }} |
Output:
Class represented by myClass: class Test DeclaredAnnotation of myClass: [@DeclaredAnnotation(key=GFG, value=GeeksForGeeks)]
Reference: https://docs.oracle.com/javase/9/docs/api/java/lang/Class.html#getDeclaredAnnotations–
