我正在从Field.getGenericType()中检索ParameterizedType对象,我想创建一个这种类型的实例。例如,这种类型可能代表一个HashMap。
我想也许我可以将它强制转换为Class然后使用newInstance(),但这会导致ClassCastException。
我该怎么做?
答案 0 :(得分:3)
ParameterizedType pType = ..;
((Class) pType.getRawType()).newInstance();
但是你不需要参数化类型 - 你可以简单地使用field.getType()
。如果要创建其中一个类型参数的实例,请使用ParameterizedType
。