构造函数类的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()
相关用法
- Java Constructor getGenericExceptionTypes()用法及代码示例
- Java Constructor getTypeParameters()用法及代码示例
- Java Constructor getDeclaredAnnotations()用法及代码示例
- Java Constructor getGenericParameterTypes()用法及代码示例
- Java Constructor getAnnotatedReceiverType()用法及代码示例
- Java Constructor getAnnotatedReturnType()用法及代码示例
- Java Constructor getDeclaringClass()用法及代码示例
- Java Constructor newInstance()用法及代码示例
- Java Constructor getAnnotation()用法及代码示例
- Java Constructor getParameterCount()用法及代码示例
- Java Constructor toGenericString()用法及代码示例
- Java Constructor getName()用法及代码示例
- Java Constructor toString()用法及代码示例
- Java Constructor isVarArgs()用法及代码示例
- Java Constructor hashCode()用法及代码示例
注:本文由纯净天空筛选整理自AmanSingh2210大神的英文原创作品 Constructor getParameterAnnotations() method in Java with Examples。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。