📅  最后修改于: 2023-12-03 15:32:01.818000             🧑  作者: Mango
在Java中,我们可以使用注解来为类、方法、字段等添加元数据。在运行时,我们通常需要获取这些注解,这时就需要使用到getAnnotation()
方法。
Class
类中的getAnnotation()
方法在Class
类中,getAnnotation()
方法用于获取指定注解类型的注解。该方法的语法如下:
public <A extends Annotation> A getAnnotation(Class<A> annotationClass)
其中,annotationClass
参数表示要获取的注解类型。如果指定类型的注解不存在,则返回null
。
我们来看一个例子,定义一个注解MyAnnotation
:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface MyAnnotation {
String value();
}
这个注解包含一个value
属性。接下来,我们在一个类的方法上添加该注解:
public class MyClass {
@MyAnnotation("Hello, annotation!")
public void test() {
}
}
然后,我们就可以在代码中使用getAnnotation()
方法获取该注解了:
public class Main {
public static void main(String[] args) {
MyClass obj = new MyClass();
Method method = obj.getClass().getMethod("test");
MyAnnotation annotation = method.getAnnotation(MyAnnotation.class);
System.out.println(annotation.value());
}
}
上面的代码中,我们首先创建MyClass
类的实例obj
,然后使用反射获取该类的test()
方法,并通过getAnnotation()
方法获取该方法上的MyAnnotation
注解。最后,我们打印出了注解的内容。
输出结果为:
Hello, annotation!
以上就是Java中getAnnotation()
方法的介绍和示例。