Java Reflection Generic Type from Class getGenericClass(Class clazz)

Here you can find the source of getGenericClass(Class clazz)

Description

get Generic Class

License

Open Source License

Declaration

public static Class getGenericClass(Class clazz) 

Method Source Code


//package com.java2s;
import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;

public class Main {
    public static Class getGenericClass(Class clazz) {
        return getGenericClass(clazz, 0);
    }//from ww w. j a  v  a2  s .c  om

    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

  1. getGenericArgumentType(Class clazz)
  2. getGenericArgumentType(Class currentClass, Class genericSuperClass, int argumentIndex)
  3. getGenericClass(Class clazz)
  4. getGenericClass(Class clazz)
  5. getGenericClass(Class clazz, int index)
  6. getGenericClass(Class clazz, int index)