📜  Java中的构造函数 getDeclaredAnnotations() 方法和示例

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

Java中的构造函数 getDeclaredAnnotations() 方法和示例

Java.lang.reflect.Constructor 类getDeclaredAnnotations()方法用于返回此 Constructor 元素上存在的注释作为 Annotation 类对象的数组。 getDeclaredAnnotations() 方法忽略此构造函数对象上继承的注释。返回的数组可以不包含注释,如果构造函数没有注释,则该数组的长度可以为 0。

句法:

public Annotation[] getDeclaredAnnotations()

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

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

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

// Java program to illustrate
// getDeclaredAnnotations() method
  
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // create a class object
        Class classObj = shape.class;
  
        // get Constructor object
        // array from class object
        Constructor[] cons
            = classObj.getConstructors();
  
        // get array of annotations
        Annotation[] annotations
            = cons[0].getDeclaredAnnotations();
  
        // print length of annotations array
        System.out.println("Annotation : "
                           + annotations);
    }
  
    @CustomAnnotation(createValues = "GFG")
    public class shape {
  
        @CustomAnnotation(createValues = "GFG")
        public shape()
        {
        }
    }
  
    // create a custom annotation
    public @interface CustomAnnotation {
        public String createValues();
    }
    }
输出:
Annotation : [Ljava.lang.annotation.Annotation;@4aa298b7

方案二:

// Java program to illustrate
// getDeclaredAnnotations() method
  
import java.lang.annotation.Annotation;
import java.lang.reflect.Constructor;
  
public class GFG {
  
    public static void main(String[] args)
    {
        // create a class object
        Class classObj = String.class;
  
        // get Constructor object
        // array from class object
        Constructor[] cons
            = classObj.getConstructors();
  
        // get array of annotations
        Annotation[] annotations
            = cons[0].getDeclaredAnnotations();
  
        // print length of annotations array
        System.out.println("Annotation length : "
                           + annotations.length);
    }
}
输出:
Annotation length : 0

参考资料: https: Java/lang/reflect/Constructor.html#getDeclaredAnnotations()