List<?>和List<Class<?>>区别及泛型相关

?表示是任意类型,但是编译器不能确定他是什么类型,所以你add的时候什么参数也不能传给它
Class<?>表示任意类型的Class对象,list里面可以添加任何类型的Class对象,其它的对象不能添加,也就是只能添加类似list.add(string.class)这种。

http://www.cnblogs.com/lwbqqyumidi/p/3837629.html

泛型,即参数化类型,泛型擦除:Java 编译器生成的字节码文件不包含有泛型信息,泛型信息将在编译时被擦除,这个过程称为泛型擦除。其主要过程为 1)将所有泛型参数用其最左边界(最顶级的父类型)类型替换;2)移除 所有 的类型参数。

原文地址:https://www.cnblogs.com/cing/p/7931531.html