为了保持代码的通用性和抽象,在开发中大家可能会比较经常实用泛型进行编码,那么如何在执行过程中如何获取泛型的类型呢?
Spring
下获取泛型的方式如下(假设CallbackHandler是泛型的接口类,handler继承CallbackHandler):
ResolvableType resolvableType = ResolvableType.forClass(handler.getClass()).as(CallbackHandler.class);
// 获取第一个泛型
resolvableType.getGeneric(0).resolve();
// 获取第二个泛型
resolvableType.getGeneric(1).resolve()
通过以上方式就可以了,so easy!