Java Field getDeclaredAnnotations()方法实例
java.lang.reflect.Field 的 getDeclaredAnnotations() 方法用于返回直接存在于这个Field对象上的注释,而忽略继承的注释。如果这个元素上没有直接存在的注解,返回值是一个空数组。调用者可以修改返回的数组,因为方法发送的是实际对象的副本;它对返回给其他调用者的数组没有影响。
语法
public Annotation[] getDeclaredAnnotations()
参数: 该方法不接受任何东西。
返回 :该方法返回直接存在于该元素上的 注释 。以下程序说明了getDeclaredAnnotations()方法:
程序1 :
// Java program to illustrate// getDeclaredAnnotations() method import java.lang.annotation.*;import java.lang.reflect.Field;import java.util.Arrays; public class GFG { // initialize field with annotation private int @SpecialNumber[] number; public static void main(String[] args) throws NoSuchFieldException { // get Field object Field field = GFG.class.getDeclaredField("number"); // apply getAnnotatedType() method Annotation[] annotations = field.getDeclaredAnnotations(); // print the results System.out.println( Arrays .toString(annotations)); } @Target({ ElementType.TYPE_USE }) @Retention(RetentionPolicy.RUNTIME) private @interface SpecialNumber { }}
输出
[]
程序2
// Java program to illustrate// getDeclaredAnnotations() method import java.lang.annotation.Annotation;import java.lang.reflect.Field;import java.util.Arrays; public class GFG { // initialize field with annotation @Deprecated private String string = " Welcome to GeeksForGeeks"; public static void main(String[] args) throws NoSuchFieldException { // create Field object Field field = GFG.class .getDeclaredField("string"); // apply getAnnotation() Annotation[] annotations = field.getDeclaredAnnotations(); // print results System.out.println( Arrays .toString(annotations)); }}输出
[@java.lang.Deprecated()]
参考文献 : https://docs.oracle.com/javase/8/docs/api/java/lang/reflect/Field.html#getDeclaredAnnotations-
