java - 给定一个 ParameterizedType,我如何创建这种类型的实例?

标签 java reflection

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

我想也许我可以将它转换为一个类,然后使用 newInstance(),但这导致了 ClassCastException。

我该怎么做?

最佳答案

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

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

关于java - 给定一个 ParameterizedType,我如何创建这种类型的实例?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5046750/

相关文章:

java - 在 biginteger 上使用 java 默认二进制搜索

c# - WPF - 如何与动态创建的控件实现双向数据绑定(bind)?

java - 我想在android中获取类的字段名称

java反射私有(private)变量

java - 如何合并同一个非常大的项目的2个版本

java - 为什么 hystrix 或任何其他微服务断路器?

java - 如何将自定义 android.media.MediaDataSource 与 android.media.MediaPlayer 一起使用?

java - spring-boot @Scheduled pool-size 调试

c# - 为什么我不能将 Expression Body 转换为 MethodCallExpression

reflection - 哪些 Scala 功能是在内部使用反射实现的?