如何以编程方式读取方法的 return 类型上定义的注释

How to read the annotations defined on return type of a Method programmatically

我们如何以编程方式读取方法的 return 类型上定义的注释?

我尝试在 java.lang.reflect.Method 中寻找方法,但我只能找到读取 return 值的 class 类型或读取通用 information.Is 的方法还有读取注释的方法吗?

考虑这个方法定义:-

public class ABC {
      public static @MyAnnotation @AnotherAnnotation String main(String args[]) {

       return null;        
      }

所以我的问题是:- 我们可以读取 return 类型字符串中定义的注释吗?

注释如下:-

MyAnnotation.java

@Target(value = ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface MyAnnotation {

    public String[] author() default {"Its me","Its me"};



}

AnotherAnnotation.java

@Target(value = ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface AnotherAnnotation {

}

您似乎对注释的位置感到困惑:

public static @MyAnnotation @AnotherAnnotation String main(String args[])

这两个注解不是注解方法的return类型。他们正在注释方法本身。以上相当于

@MyAnnotation 
@AnotherAnnotation 
public static String main(String args[])

甚至

public @MyAnnotation @AnotherAnnotation static String main(String args[])

您可以使用 getAnnotations() or getDeclaredAnnotations().

Method 对象中获取它们