给定ParameterizedType,如何创建此类型的实例?

时间:2011-02-18 21:26:32

标签: java reflection

我正在从Field.getGenericType()中检索ParameterizedType对象,我想创建一个这种类型的实例。例如,这种类型可能代表一个HashMap。

我想也许我可以将它强制转换为Class然后使用newInstance(),但这会导致ClassCastException。

我该怎么做?

1 个答案:

答案 0 :(得分:3)

ParameterizedType pType = ..;
((Class) pType.getRawType()).newInstance();

但是你不需要参数化类型 - 你可以简单地使用field.getType()。如果要创建其中一个类型参数的实例,请使用ParameterizedType