當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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