📜  Java中的字段 getDeclaredAnnotations() 方法及示例

📅  最后修改于: 2022-05-13 01:54:35.868000             🧑  作者: Mango

Java中的字段 getDeclaredAnnotations() 方法及示例

Java.lang.reflect.FieldgetDeclaredAnnotations()方法用于返回直接存在于此 Field 对象上的注释并忽略继承的注释。如果此元素上没有直接存在的注释,则返回值为空数组。调用者可以修改返回的数组作为方法发送的实际对象的副本;它不会影响返回给其他调用者的数组。

句法:

public Annotation[] getDeclaredAnnotations()

参数:此方法不接受任何内容。

Return :此方法返回直接存在于此元素上的注释

下面的程序说明了 getDeclaredAnnotations() 方法:
方案一:

// 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 {
    }
}
输出:
[]

方案二:

// 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: Java/lang/reflect/Field.html#getDeclaredAnnotations–