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