Java Constructor getTypeParameters()方法及示例

Java Constructor getTypeParameters()方法及示例

构造函数 类的 getTypeParameters() 方法用于获取该构造函数对象所声明的TypeVariable对象的数组,按声明顺序排列。数组中的元素代表方法所声明的类型变量对象。如果Method对象的泛型声明不包含任何类型变量,那么这个getTypeParameters()方法将返回一个长度为0的数组。

语法

public TypeVariable<Constructor<T>>[] getTypeParameters()

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

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

异常: 如果这个泛型声明的泛型签名不符合《Java™ 虚拟机规范》中规定的格式,该方法会抛出 GenericSignatureFormatError

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

程序 1 :

// 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<Test> 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<N extends Number> {
    public Test(N n) {}
}

输出。

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

程序2

// 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<Class<GFG_Demo> >[] typeParameters
            = GFG_Demo.class.getTypeParameters();
  
        // print result
        for (TypeVariable<Class<GFG_Demo> >
                 typeParameter : typeParameters) {
            System.out.println(typeParameter);
        }
    }
  
    private static class GFG_Demo<N, E> {
    }
}

输出。

N
E

参考文献: https://docs.oracle.com/javase/10/docs/api/java/lang/reflect/Constructor.html#getTypeParameters()

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程