public class Gears<T,R> {
private Class<R> clazz;
@SuppressWarnings("unchecked")
public Gears(){
//获取父类的类型
Type superClass=getClass().getGenericSuperclass();
//判断是否是参数化类型
if(superClass instanceof ParameterizedType){
ParameterizedType type=(ParameterizedType)superClass;
Type[] ts=type.getActualTypeArguments();
if(null!=ts && ts.length>0){
if(ts[0] instanceof Class){
clazz=(Class<R>) ts[1];
}
}
}
}
/**
private Class<R> clazz;
@SuppressWarnings("unchecked")
public Gears(){
//获取父类的类型
Type superClass=getClass().getGenericSuperclass();
//判断是否是参数化类型
if(superClass instanceof ParameterizedType){
ParameterizedType type=(ParameterizedType)superClass;
Type[] ts=type.getActualTypeArguments();
if(null!=ts && ts.length>0){
if(ts[0] instanceof Class){
clazz=(Class<R>) ts[1];
}
}
}
}
/**