構造函數類的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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。