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


Java Constructor getParameterAnnotations()用法及代码示例


构造函数类的getParameterAnnotations()方法用于获取二维Annotation数组,该数组表示此构造函数的形式参数上的注释。如果构造方法不包含任何参数,则将返回一个空数组。如果构造函数包含一个或多个参数,则将返回一个二维注释数组。对于没有注释的参数,此二维数组的嵌套数组将为空。此方法返回的注释对象是可序列化的。通过此方法返回的数组的数组可以轻松修改。

用法:

public Annotation[][] getParameterAnnotations()

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


返回值:此方法返回一个数组数组,这些数组按声明顺序表示此对象表示的可执行文件的形式参数和隐式参数上的注释。

以下示例程序旨在说明getParameterAnnotations()方法:
程序1:

// Java program to demonstrate 
// Constructor.getParameterAnnotations() method 
  
import java.lang.annotation.Annotation; 
import java.lang.annotation.Retention; 
import java.lang.annotation.RetentionPolicy; 
import java.lang.reflect.Constructor; 
import java.util.Arrays; 
  
public class GFG { 
  
    public static void main(String... args) 
        throws NoSuchMethodException 
    { 
  
        // Create Constructor Object 
        Constructor[] constructors 
            = Test.class.getConstructors(); 
  
        // get Annotation array 
        Annotation[][] annotations 
            = constructors[0].getParameterAnnotations(); 
  
        System.out.println("Parameter annotations -->"); 
        System.out.println(Arrays.deepToString(annotations)); 
    } 
} 
class Test { 
  
    public Test(@Properties Object config) 
    { 
    } 
} 
  
@Retention(RetentionPolicy.RUNTIME) 
@interface Properties { 
}

输出:

Parameter annotations -->
[[@Properties()]]

程序2:

// Java program to demonstrate 
// Constructor.getParameterAnnotations() method 
  
import java.lang.annotation.Annotation; 
import java.lang.annotation.Retention; 
import java.lang.annotation.RetentionPolicy; 
import java.lang.reflect.Constructor; 
  
public class GFG { 
  
    public static void main(String... args) 
        throws NoSuchMethodException 
    { 
  
        // Create Constructor Object 
        Constructor[] constructors 
            = GfgDemo.class.getConstructors(); 
  
        // get Annotation array 
        Annotation[][] annotations 
            = constructors[0].getParameterAnnotations(); 
  
        System.out.println("Parameter annotations -->"); 
        for (Annotation[] ann:annotations) { 
            for (Annotation annotation:ann) { 
                System.out.println(annotation); 
            } 
        } 
    } 
} 
class GfgDemo { 
  
    public GfgDemo(@Path Path path) 
    { 
    } 
} 
  
@Retention(RetentionPolicy.RUNTIME) 
@interface Path { 
}

输出:

Parameter annotations -->
@Path()

参考资料:https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Constructor.html#getParameterAnnotations()



相关用法


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