起因
在有自己封装的公司中, 经常会编写一些泛型和通用的crud服务类等等, 但在使用easyexcel和jackson的时候, 又需要目标类的Class
这种情况下, 如何获取泛型的Class成为困扰我很久的东西
解决方案
没什么技术含量可讲解, 直接上代码:
public abstract class BaseDeviceService<T extends Device, TD> extends BaseSearchableService<T, TD> {
private final Class<T> tClass = (Class<T>) ((ParameterizedType) getClass().getGenericSuperclass()).getActualTypeArguments()[0];
}
方法名都非常直接了, 主要使用的就是ParameterizedType