GetClass (). Getgenericsuperclass () returns the type of the direct superclass that represents the entity (class, interface, base type, or void) represented by this class and then converts it parameterizedtype: Getactualtypearguments () returns an array of type objects that represent the actual type parameters of this type. [0] is the first one in this array. In short, you get the actual type of the generic parameter for the superclass: For example, Super class public class Genericdao<t> {private class<t> entityclass;protected Genericdao () {Type type = GetClass (). Getgenericsuperclass (); Type TrueType = ((parameterizedtype) type). Getactualtypearguments () [0]; This.entityclass = (class<t>) trueType; }} Subclass public class Optionmanager extends genericdao<msgc_option> {} Test class public class Oracletest {public static void Mai N (string[] args) throws Exception {Optionmanager manager = new Optionmanager ();}} So in your new Optionmanager (), after the superclass of the Entityclass is the subclass where the public class Optionmanager extends genericdao<msgc_option> The corresponding class object of the msgc_option inside.
Parameterizedtype parameterizedtype= (Parameterizedtype) This.getclass (). Getgenericsuperclass (); Cl