Mega Code Archive

 
Categories / Java / Reflection
 

Locates generic declaration by index on a class

import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; public class Util {   /**      * Locates generic declaration by index on a class.      *       * @param clazz clazz The class to introspect      * @param index the Index of the generic ddeclaration,start from 0.      */     public static Class getGenericClass(Class clazz, int index) {       Type genType = clazz.getGenericSuperclass();              if (genType instanceof ParameterizedType) {         Type[] params = ((ParameterizedType) genType).getActualTypeArguments();         if ((params != null) && (params.length >= (index - 1))) {           return (Class) params[index];         }       }       return null;     } }