学了好长时间的Java ,对于Class.class 还是理解的不够透彻,网上的好多例子都是不能执行的;
╮(╯▽╰)╭
所以,直接上代码
public class DaoImpl<T,K> {
public DaoImpl() {
getGenericClass();
}
private void getGenericClass() {
ParameterizedType pt = (ParameterizedType) getClass().getGenericSuperclass();
Arrays.asList(pt.getActualTypeArguments()).forEach(type->System.out.println((Class)type));
}
}
这个类是重点,如果直接实例DaoImpl 或报错java.lang.ClassCastException
public class UserDaomImpl extends DaoImpl<Stu,Model,Stu>{
}
public class Stu {
}
class Model{
}
测试
public class Main {
public static void main(String[] args) {
new UserDaomImpl ();
}
}