Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过反射创建泛型类的实例_Java_Generics - Fatal编程技术网

Java 通过反射创建泛型类的实例

Java 通过反射创建泛型类的实例,java,generics,Java,Generics,是否有任何方法可以使用反射来创建泛型类的实例 例如,如何使用类或类型等反射创建PriorityQueue的实例,而不是调用其构造函数。您始终可以将原始类型转换为泛型类型或从泛型类型转换为原始类型 PriorityQueue<Integer> queue = (PriorityQueue<Integer>) PriorityQueue.class.newInstance(); PriorityQueue queue=(PriorityQueue)PriorityQueue

是否有任何方法可以使用反射来创建泛型类的实例


例如,如何使用类或类型等反射创建
PriorityQueue
的实例,而不是调用其构造函数。

您始终可以将原始类型转换为泛型类型或从泛型类型转换为原始类型

PriorityQueue<Integer> queue = (PriorityQueue<Integer>) PriorityQueue.class.newInstance();
PriorityQueue queue=(PriorityQueue)PriorityQueue.class.newInstance();

是的,您只需创建一个类的原始实例并强制转换它。由于类型擦除,两者之间没有区别。