package com.ycsoft.daos.helper; import java.lang.reflect.ParameterizedType; /** * <p> 泛型帮助类 </p> * @author hh */ @SuppressWarnings("unchecked") public class GenericsHelper { /** * <p> 通过一个类的Class,获取该类的泛型的模板 </p> * @param cls 类的模板 * @return 泛型的模板 * @throws Exception */ public static Class getGenericsClass(Class cls)throws Exception{ ParameterizedType superClass = (ParameterizedType) cls.getGenericSuperclass(); Class target =(Class)superClass.getActualTypeArguments()[0]; return target ; } /** * 获取一个指定父类名称的父类Class, * @param cls * @param superClass * @return */ public static Class getSuperClass(Class cls , String clsName){ Class temp = cls ; while(temp != null && temp.getSuperclass() !=null){ if(clsName.equals(temp.getSuperclass().getName())){ return temp ; } temp = temp.getSuperclass(); } return null ; } }