Java.lang.Package.getAnnotation() Method


The java.lang.Package.getAnnotation(Class<A> annotationClass) method returns this element's annotation for the specified type if such an annotation is present, else null.


Following is the declaration for java.lang.Package.getAnnotation() method

public <A extends Annotation> A getAnnotation(Class<A> annotationClass)


annotationClass − the Class object corresponding to the annotation type

Return Value

This method returns this element's annotation for the specified annotation type if present on this element, else null


  • NullPointerException − if the given annotation class is null

  • IllegalMonitorStateException − if the current thread is not the owner of the object's monitor.


The following example shows the usage of lang.Object.getAnnotation() method.

package com.tutorialspoint;

import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.reflect.Method;

// declare a new annotation
@interface Demo {
   String str();
   int val();

public class PackageDemo {

   // set values for the annotation
   @Demo(str = "Demo Annotation", val = 100)
   // a method to call in the main
   public static void example() {
      PackageDemo ob = new PackageDemo();

      try {
         Class c = ob.getClass();

         // get the method example
         Method m = c.getMethod("example");

         // get the annotation for class Demo
         Demo annotation = m.getAnnotation(Demo.class);

         // print the annotation
         System.out.println(annotation.str() + " " + annotation.val());
      } catch (NoSuchMethodException exc) {
   public static void main(String args[]) {

Let us compile and run the above program, this will produce the following result −

Demo Annotation 100