Учитывая ParameterizedType, как мне создать экземпляр этого типа? - PullRequest
3 голосов
/ 19 февраля 2011

Я получаю объект ParameterizedType из Field.getGenericType (), и я хотел бы создать экземпляр этого типа. Этот тип может представлять собой, например, HashMap.

Я подумал, что мог бы привести его к классу и затем использовать newInstance (), но это вызвало исключение ClassCastException.

Как мне это сделать?

1 Ответ

3 голосов
/ 19 февраля 2011
ParameterizedType pType = ..;
((Class) pType.getRawType()).newInstance();

Но для этого вам не нужен параметризованный тип - вы можете просто использовать field.getType(). Используйте ParameterizedType на тот случай, если вы хотите создать экземпляр одного из аргументов типа.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...