20230525 java.lang.reflect.AnnotatedElement
介绍
java.lang.reflect.AnnotatedElementpublic interface AnnotatedElementgetAnnotations()和getDeclaredAnnotations()方法返回的注解数组中,注解的顺序是不确定的Class,Constructor,Method都实现了这个接口
API
- isAnnotationPresent
- 判断是否存在指定类型的注解
 
 
getAnnotation 系列:
- getAnnotation
- 返回指定类型的注解对象,如果没有则返回 null
 
 - getAnnotations
- 返回存在的所有注解,包括从父类继承的
 
 - getAnnotationByType
- 与 getAnnotation 类似,但如果存在多个相同类型的注解,则只返回其中一个
 - 此方法与 
getAnnotation(Class)之间的区别在于,此方法检测其参数是否为可重复注释类型(@Repeatable) 
 
getDeclaredAnnotation 系列:
- getDeclaredAnnotation
- 返回直接存在的指定类型的注解,如果没有则返回null,不考虑其继承的注解
 
 - getDeclaredAnnotations
- 返回直接存在的所有注解,不包括继承的注解
 
 - getDeclaredAnnotationsByType
- 与 getDeclaredAnnotations 类似,但如果存在多个相同类型的注解,则只返回其中一个
 
 
代码示例
@Inherited
如果注解上标注了 @Inherited 元注解,父类标注了该注解,那么子类也会继承该注解,通过 java.lang.Class#getAnnotations 在子类上可以获取到该注解
                    
                
                
            
        
浙公网安备 33010602011771号