Locates generic declaration by index on a class. : Generic « Reflection « Java

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;



Related examples in the same category

1.Get Generic Super class
2.Generic Class reflection
3.Get field type and generic type by field name
4.get Return Type and get Generic Return Type
5.get Exception Types and get Generic Exception Types
6.get Parameter Types and get Generic ParameterTypes
7.Generic method reflection
8.get Generic Parameter Types from Constructor
9.Class Declaration Spy
10.All information about a class
11.Get all implemented generic interfaces
12.If right-hand side type may be assigned to the left-hand side type following the Java generics rules.
13.Get all interface and object classes that are generalizations of the provided class
14.A wrapper around reflection to resolve generics.
15.Get Generic Type
16.Get Parameterized Type