java获取注解所在方法
时间: 2023-11-21 14:59:02 浏览: 92
Java注解方式
可以使用反射来获取注解所在方法。首先需要获取类的Class对象,然后通过Class对象的getDeclaredMethods()方法获取所有方法的数组,遍历数组,判断每个方法是否有指定的注解,如果有则返回该方法。
下面是一个示例代码:
```java
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
public class AnnotationDemo {
public static void main(String[] args) throws NoSuchMethodException {
Class<MyClass> clazz = MyClass.class;
Method[] methods = clazz.getDeclaredMethods();
for (Method method : methods) {
MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
if (annotation != null) {
System.out.println("Method with annotation: " + method.getName());
}
}
}
@MyAnnotation
public void method1() {
// do something
}
@MyAnnotation
public void method2() {
// do something
}
public void method3() {
// do something
}
}
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@interface MyAnnotation {
}
```
在上面的示例代码中,定义了一个注解@MyAnnotation和一个类MyClass,其中MyClass中有三个方法,其中两个方法标注了@MyAnnotation注解。在main方法中,获取MyClass的Class对象,然后遍历该类的所有方法,判断每个方法是否有@MyAnnotation注解,如果有则输出该方法的名称。
输出结果为:
```
Method with annotation: method1
Method with annotation: method2
```
阅读全文