📜  Java中的类 getDeclaredAnnotations() 方法和示例(1)

📅  最后修改于: 2023-12-03 15:16:34.002000             🧑  作者: Mango

Java中的类 getDeclaredAnnotations() 方法和示例

在Java中,类是一个最基本的概念,它是一组具有相同属性和方法的对象集合,这些对象具有相同的行为和特征。Java中的类 getDeclaredAnnotations() 方法是用于获取类的注解信息的方法。

什么是类注解?

类注解是指在类上使用的注解,它可以使用 @interface 关键字进行定义。类注解可以用来描述类的属性、方法、构造函数等特征。

下面是一个示例:

@MyAnnotation(value = "类注解示例")
public class MyClass {
    // 类定义
}
getDeclaredAnnotations() 方法介绍

Java中的 Class 类中,提供了 getDeclaredAnnotations() 方法用于获取类的注解信息,该方法返回一个 Annotation 类型的数组,其中包含了所有使用在该类上的注解信息。

方法签名如下:

public Annotation[] getDeclaredAnnotations()
getDeclaredAnnotations() 方法示例

下面是一个示例程序,用于演示如何使用 getDeclaredAnnotations() 方法获取类的注解信息:

import java.lang.annotation.Annotation;

@MyAnnotation(value = "主类注解")
public class Main {
    public static void main(String[] args) {
        Class<?> clazz = Main.class;
        Annotation[] annotations = clazz.getDeclaredAnnotations();
        for (Annotation annotation : annotations) {
            if (annotation instanceof MyAnnotation) {
                MyAnnotation myAnnotation = (MyAnnotation) annotation;
                System.out.println("注解名称:" + MyAnnotation.class.getSimpleName());
                System.out.println("注解值:" + myAnnotation.value());
            }
        }
    }
}

@Retention(RetentionPolicy.RUNTIME)
@interface MyAnnotation {
    String value();
}

上面程序定义了一个主类 Main 和一个类注解 @MyAnnotation。在主类中,使用 getDeclaredAnnotations() 方法获取该类上的注解信息,并输出注解名称和注解值。

输出结果如下:

注解名称:MyAnnotation
注解值:主类注解
总结

Java中的类 getDeclaredAnnotations() 方法可以用于获取类的注解信息,该方法返回一个 Annotation 类型的数组,其中包含了所有使用在该类上的注解信息。在使用该方法时,我们需要遍历数组,并通过 instanceof 判断注解的类型,再通过对应的属性方法获取注解的值。