在平时需要写抽象策略处理器时,希望传给处理器执行器的对象是泛型,避免每个子类都写强制类型转换的代码,通常需要获取子类的泛型,然后才能够避免写@SuppressWarnings,可以通过如下工具类在Abstract类上面获取到子类泛型。

ResolvableType[] generics = ResolvableType.forClass(this.getClass()).getSuperType().getGenerics();
// generics[0]是第一个泛型
T o = (T) generalResult.toJavaObject(generics[0].resolve());