java如何获取方法上的注解

48次阅读
没有评论

共计 1009 个字符,预计需要花费 3 分钟才能阅读完成。

要获取方法上的注解,可以使用 Java 的反射机制。以下是一种常见的方法:

  1. 首先,使用 Class 类的 getMethodgetDeclaredMethod方法获取要获取注解的方法。getMethod方法可以获取公共方法,而 getDeclaredMethod 方法可以获取所有方法,包括私有方法。
Class clazz = MyClass.class;
Method method = clazz.getDeclaredMethod("myMethod");
  1. 然后,使用 Method 类的 getAnnotation 方法获取方法上的注解。getAnnotation方法接收一个注解的类型作为参数,并返回该注解的实例。如果方法上没有该注解,getAnnotation方法将返回null
MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
  1. 最后,可以通过注解对象的方法来获取注解的属性值。
String value = annotation.value();

完整的示例代码如下:

import java.lang.annotation.*;
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface MyAnnotation {String value();
}
class MyClass {@MyAnnotation("Hello")
public void myMethod() {// 方法体}
}
public class Main {public static void main(String[] args) throws NoSuchMethodException {
Class clazz = MyClass.class;
Method method = clazz.getDeclaredMethod("myMethod");
MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
String value = annotation.value();
System.out.println(value); // 输出:Hello
}
}

需要注意的是,注解的保留策略需要设置为RetentionPolicy.RUNTIME,才能在运行时通过反射获取到注解。

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-20发表,共计1009字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)