Java Constructor getGenericParameterTypes()方法及示例

来源:这里教程网 时间:2026-02-17 20:44:11 作者:

Java Constructor getGenericParameterTypes()方法及示例

java.lang.reflect.Constructor类getGenericParameterTypes() 方法用于返回一个对象数组,代表该构造器对象上存在的参数类型。该方法返回的数组的排列顺序与该构造函数对象上的参数顺序相同。如果构造函数没有参数,那么该方法返回一个长度为 0 的数组。

语法

public Type[] getGenericParameterTypes()

参数: 此方法不接受任何东西。

返回 :该方法返回一个 Types数组 ,代表底层可执行文件的正式参数类型,按声明顺序排列。

异常: 该方法会抛出以下异常。

GenericSignatureFormatError:如果通用方法签名不符合The Java™ Virtual Machine Specification中规定的格式。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 GFGintlongdouble

程序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()

相关推荐