Java Lang Reflect Java by API

import java.lang.reflect.ParameterizedType;
import java.lang.reflect.Type;
import java.util.ArrayList;
public class MainClass {
  public static void main(String args[]) throws Exception {
    Type type = StringList.class.getGenericSuperclass();
    System.out.println(type); // java.util.ArrayList
    ParameterizedType pt = (ParameterizedType) type;
    System.out.println(pt.getActualTypeArguments()[0]);
  }
}
class StringList extends ArrayList {
}