jdk1.7之后所提供的类ParameterizedType可以实现
getGenericSuperclass():调用者是[泛型所在对象]的Class对象,即获取到的clz一定是有泛型的。
getActualTypeArguments():得到的是一个存放泛型的数组,用第几个就取第几个。
private static<V> void query(MyClass<V> myClass){
Class clz = myClass.getClass();
Type genericSuperclass = clz.getGenericSuperclass();
ParameterizedType parameterizedType = (ParameterizedType)genericSuperclass;
Class clazz = (Class<V>) parameterizedType.getActualTypeArguments()[1];
V v = (V) clazz.newInstance();
//....
}