1Annotation[] getAnnotations(); //获取目标对象(方法和属性)上的所有注解
2default <T extends Annotation> T getDeclaredAnnotation(Class<T> annotationClass) {
3 Objects.requireNonNull(annotationClass);
4 // Loop over all directly-present annotations looking for a matching one
5 for (Annotation annotation : getDeclaredAnnotations()) {
6 if (annotationClass.equals(annotation.annotationType())) {
7 // More robust to do a dynamic cast at runtime instead
8 // of compile-time only.
9 return annotationClass.cast(annotation);
10 }
11 }
12 return null;
13 }