Here you can find the source of getGenericType(Class> target)
static public Type[] getGenericType(Class<?> target)
//package com.java2s; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; public class Main { static public Type[] getGenericType(Class<?> target) { if (target == null) return new Type[0]; Type[] types = target.getGenericInterfaces(); if (types.length > 0) { return types; }//from ww w . j av a 2 s . co m Type type = target.getGenericSuperclass(); if (type != null) { if (type instanceof ParameterizedType) { return new Type[] { type }; } } return new Type[0]; } }