📜  Java中的构造函数 getTypeParameters() 方法及示例

📅  最后修改于: 2022-05-13 01:55:33.632000             🧑  作者: Mango

Java中的构造函数 getTypeParameters() 方法及示例

Constructor类的getTypeParameters()方法用于按声明顺序获取此 Constructor Object 声明的 TypeVariable 对象数组。 array 的元素表示 Method 声明的类型变量对象。如果方法对象泛型声明不包含类型变量,则此 getTypeParameters() 将返回长度为 0 的数组。

句法:

public TypeVariable>[] getTypeParameters()

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

返回值:此方法返回一个TypeVariable 对象数组,这些对象表示此泛型声明所声明的类型变量。

例外:如果此通用声明的通用签名不符合Java™ 虚拟机规范中指定的格式,则此方法将引发GenericSignatureFormatError

下面的程序说明了 getTypeParameters() 方法:

方案一:

// Java program to demonstrate
// Constructor.getTypeParameters() method
  
import java.lang.reflect.Constructor;
import java.lang.reflect.TypeVariable;
  
public class GFG {
  
    public static void main(String... args)
        throws NoSuchMethodException
    {
  
        // Create Test class
        Class cls = Test.class;
  
        // Create Constructor Object
        Constructor[] constructors
            = cls.getConstructors();
  
        // get Annotation array
        TypeVariable[] typeVariables
            = constructors[0].getTypeParameters();
  
        System.out.println("TypeVariables:"
                           + typeVariables);
    }
}
class Test {
    public Test(N n) {}
}

输出:

TypeVariables:[Ljava.lang.reflect.TypeVariable;@15db9742

方案二:

// Java program to demonstrate
// Constructor.getTypeParameters() method
  
import java.lang.reflect.TypeVariable;
  
public class GFG {
  
    public static void main(String... args)
    {
  
        // get Type Parameters
        TypeVariable >[] typeParameters
            = GFG_Demo.class.getTypeParameters();
  
        // print result
        for (TypeVariable >
                 typeParameter : typeParameters) {
            System.out.println(typeParameter);
        }
    }
  
    private static class GFG_Demo {
    }
}

输出:

N
E

参考资料:https: Java()