Java反射:如何获取方法的泛型类型的类?
我试图编写一个泛型方法,只要将Type
作为输入就可以访问相应的类。
请注意,没有向方法传递任何参数(如已回答的here),只指定了类型
以下是相应的代码:
@Bean
public <T> ConsumerFactory <String, T> consumerFactory() {
Class <T> genericClass = null; //How to get the class corresponding to type T ?
return new DefaultKafkaConsumerFactory<>(consumerConfigs(),
new StringDeserializer(),
new JsonDeserializer<>(genericClass, objectMapper)
);
}
# 1 楼答案
您可能应该引入一个类型标记作为方法参数。您将无法获取
T
信息,因为它在编译过程中被删除您可以尝试深入研究反射和^{} ,但它不能使
@Configuration
可读。这里的冗长和遵守标准很重要,因为大多数IDE都支持Spring配置和自动连线提示