当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java AnnotatedElement getDeclaredAnnotationsByType()用法及代码示例


java.lang.AnnotatedElement类的getDeclaredAnnotations()方法用于获取实现此接口的类中存在的指定声明注释类型的声明注释。该方法为指定的声明的注释类型返回声明的注释的数组。

用法:

public A[] getDeclaredAnnotationsByType(Class<T> declared annotationClass)

参数:此方法接受一个声明的注释类型的参数,该参数是要获取的声明注释的类型。


返回值:此方法为指定的声明的注释类型返回声明的注释的数组。

异常:该方法抛出:

  • NullPointerException :如果给定的声明注释类为null。

下面的程序演示了getDeclaredAnnotationsByType()方法。

范例1:

// Java program to demonstrate 
// getDeclaredAnnotationsByType() method 
  
import java.util.*; 
import java.lang.reflect.*; 
import java.lang.annotation.*; 
  
// create a custom DeclaredAnnotation 
@Retention(RetentionPolicy.RUNTIME) 
@interface DeclaredAnnotation { 
  
    // This declared annotation has two attributes. 
    public String key(); 
  
    public String value(); 
} 
  
// call DeclaredAnnotation for method 
// and pass values for declared annotation 
@DeclaredAnnotation(key = "GFG", value = "GeeksForGeeks") 
public class Test { 
  
    public Object obj; 
  
    public static void main(String[] args) 
        throws ClassNotFoundException 
    { 
  
        // returns the Class object 
        // for this myAnnotatedElement 
        AnnotatedElement myAnnotatedElement 
            = Test.class; 
  
        System.out.println( 
            "AnnotatedElement represented"
            + " by myAnnotatedElement:"
            + myAnnotatedElement.toString()); 
  
        // Get the declared annotation 
        // using getDeclaredAnnotationsByType() method 
        System.out.println( 
            "DeclaredAnnotation of myAnnotatedElement"
            + " of type DeclaredAnnotation:"
            + Arrays.toString( 
                  myAnnotatedElement 
                      .getDeclaredAnnotationsByType( 
                          DeclaredAnnotation.class))); 
    } 
}
输出:

AnnotatedElement represented by myAnnotatedElement:class Test
DeclaredAnnotation of myAnnotatedElement of type DeclaredAnnotation:[@DeclaredAnnotation(key=GFG, value=GeeksForGeeks)]

范例2:

// Java program to demonstrate 
// getDeclaredAnnotationsByType() method 
  
import java.util.*; 
import java.lang.reflect.*; 
import java.lang.annotation.*; 
  
@Deprecated
public class Test { 
  
    public Object obj; 
  
    public static void main(String[] args) 
        throws ClassNotFoundException 
    { 
        try { 
  
            // returns the Class object 
            // for this myAnnotatedElement 
            AnnotatedElement myAnnotatedElement 
                = Test.class; 
  
            System.out.println( 
                "AnnotatedElement represented"
                + " by myAnnotatedElement:"
                + myAnnotatedElement.toString()); 
  
            // Get the declared annotation 
            // using getDeclaredAnnotationsByType() method 
            System.out.println( 
                "DeclaredAnnotation of myAnnotatedElement"
                + " of type Deprecated:"
                + Arrays.toString( 
                      myAnnotatedElement 
                          .getDeclaredAnnotationsByType( 
                              Deprecated.class))); 
        } 
        catch (Exception e) { 
            System.out.println(e); 
        } 
    } 
}
输出:

AnnotatedElement represented by myAnnotatedElement:class Test
DeclaredAnnotation of myAnnotatedElement of type Deprecated:[@java.lang.Deprecated()]

参考: https://docs.oracle.com/javase/9/docs/api/java/lang/reflect/AnnotatedElement.html#getAnnotationsByType-java.lang.Class-



相关用法


注:本文由纯净天空筛选整理自guptayashgupta53大神的英文原创作品 AnnotatedElement getDeclaredAnnotationsByType() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。