Method.getAnnotation(Class <T> annotationClass) has the following syntax.
public <T extends Annotation> T getAnnotation(Class <T> annotationClass)
In the following code shows how to use Method.getAnnotation(Class <T> annotationClass) method.
//www . j a v a 2s. c o m import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.reflect.Method; @Retention(RetentionPolicy.RUNTIME) @interface MyAnno { String str(); int val(); } public class Main{ @MyAnno(str = "Two Parameters", val = 19) public static void myMeth(String str, int i) { Main ob = new Main(); try { Class c = ob.getClass(); Method m = c.getMethod("myMeth", String.class, int.class); MyAnno anno = m.getAnnotation(MyAnno.class); System.out.println(anno.str() + " " + anno.val()); } catch (NoSuchMethodException exc) { System.out.println("Method Not Found."); } } public static void main(String args[]) { myMeth("test", 10); } }
The code above generates the following result.