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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。