java 反射获取注解代码
时间: 2024-02-01 17:02:48 浏览: 24
可以通过Java反射API获取注解的信息。具体实现方法包括:使用 Java 反射 API 获取目标类的 Class 对象;通过 Class 的 getAnnotations() 方法获取该类的所有注解;通过 getAnnotation() 方法获取指定注解的信息。以下是获取指定注解信息的示例代码:
```
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
public class AnnotationReflectDemo {
public static void main(String[] args) throws NoSuchMethodException {
// 获取目标类的 Class 对象
Class<AnnotationTest> clazz = AnnotationTest.class;
// 获取 sayHello() 方法指定注解的信息
Method method = clazz.getMethod("sayHello", String.class);
Annotation[] annotations = method.getAnnotations();
for (Annotation annotation : annotations) {
if (annotation instanceof MyAnnotation) {
MyAnnotation myAnnotation = (MyAnnotation) annotation;
System.out.println("name: " + myAnnotation.name());
System.out.println("url: " + myAnnotation.url());
}
}
}
}
// 自定义注解
@interface MyAnnotation {
String name();
String url() default "";
}
// 目标类
class AnnotationTest {
@MyAnnotation(name = "test", url = "https://www.baidu.com")
public void sayHello(String name) {
System.out.println("Hello, " + name);
}
}
```