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


Java Constructor getGenericParameterTypes()用法及代碼示例


java.lang.reflect.Constructor類的getGenericParameterTypes()方法用於返回對象數組,這些對象表示此構造函數對象上存在的參數的類型。從此方法返回的數組的排列順序與此構造方法對象上存在的參數的順序相同。如果構造函數沒有參數,則該方法返回長度為0的數組。

用法:

public Type[] getGenericParameterTypes()

參數:此方法不接受任何內容。


Return:此方法返回一個Types數組,這些數組按聲明順序表示基礎可執行文件的形式參數類型。

異常:此方法引發以下異常:

  • GenericSignatureFormatError:如果通用方法簽名不符合Java™虛擬機規範中指定的格式。
  • TypeNotPresentException:如果基礎可執行文件的throws子句引用了不存在的類型聲明。
  • MalformedParameterizedTypeException:如果基礎可執行文件的throws子句引用了由於某種原因而無法實例化的參數化類型。

以下示例程序旨在說明getGenericParameterTypes()方法:
程序1:

// Java program to illustrate 
// getGenericParameterTypes() method 
  
import java.io.IOException; 
import java.lang.reflect.*; 
  
public class GFG { 
  
    public static void main(String[] args) 
    { 
        // create a class object 
        Class classObj = shape.class; 
  
        // get Constructor object 
        // array from class object 
        Constructor[] cons 
            = classObj.getConstructors(); 
  
        // get array of GenericParameterTypes 
        Type[] parameters 
            = cons[0].getGenericParameterTypes(); 
  
        // print length of GenericParameterTypes array 
        System.out.println("Parameters:"); 
  
        for (int i = 0; i < parameters.length; i++) 
            System.out.println(parameters[i]); 
    } 
  
    // demo class 
    public class shape { 
  
        public shape(int a, long b, double c) 
        { 
        } 
    } 
}
輸出:
Parameters:
class GFG
int
long
double

程序2:

// Java program to illustrate 
// getGenericParameterTypes() method 
  
import java.lang.reflect.Constructor; 
import java.lang.reflect.Type; 
  
public class GFG { 
  
    public static void main(String[] args) 
    { 
        // create a class object 
        Class classObj = String.class; 
  
        // get Constructor object 
        // array from class object 
        Constructor[] cons 
            = classObj.getConstructors(); 
  
        // get array of GenericParameterTypes 
        Type[] params 
            = cons[0].getGenericParameterTypes(); 
  
        // print length of GenericParameterTypes array 
        System.out.println("No of Parameters:"
                           + params.length); 
    } 
}
輸出:
No of Parameters:3

參考文獻: https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Constructor.html#getGenericParameterTypes()



相關用法


注:本文由純淨天空篩選整理自AmanSingh2210大神的英文原創作品 Constructor getGenericParameterTypes() method in Java with Examples。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。