Program to demonstrate how Reflection API can be used to determine whether a class object is an Annotation or not in Java
Output of the program :
package com.hubberspot.reflection;
@interface Specifier {
}
class Public {
}
public class AnnotationInfo {
   public static void main(String[] args) {
   // Create a Test object
      Public publicInstance = new Public();
        
      // Get the class of respective types
      Class publicClass = publicInstance.getClass();
      Class specifier = Specifier.class;
      // isAnnotation() checks whether type is an annotation or not
      if(specifier.isAnnotation()) {
 // prints the simple name of the class
        System.out.println("Given type " + specifier.getSimpleName()
   + " is an Annotation");
      } else {
 System.out.println("Given class " + specifier.getSimpleName()
   + " is not an Annotation");
      }
      if(publicClass.isAnnotation()) {
 System.out.println("Given class " + publicClass.getSimpleName()
   + " is an Annotation");
      } else {
 System.out.println("Given class " + publicClass.getSimpleName()
   + " is not an Annotation");
      }
   }
}
Output of the program :
 

 
