Java tutorial
import java.lang.reflect.Method; import java.lang.reflect.Type; public class Main<T> { private static final String fmt = "%24s: %s%n"; <E extends RuntimeException> T genericThrow(T t) throws E { return t; } public static void main(String... args) { try { Class<?> c = Class.forName("Main"); Method[] allMethods = c.getDeclaredMethods(); for (Method m : allMethods) { Type gpType = m.getGenericReturnType(); System.out.println(gpType); } } catch (ClassNotFoundException x) { x.printStackTrace(); } } }