日期:2014-05-20  浏览次数:20728 次

问一个关于泛型的问题
Java code


Set<Class<? extends Class<?>>> handlerSet = resolverUtil.getClasses();

Set<Class<? extends Class>> typeSet = resolverUtil.getClasses();



这两句都是在MyBatis源码里看到的
我想问:
Set<Class<? extends Class<?>>> 与 Set<Class<? extends Class>>

因为Class 是 final的,这两种写法怎么理解?

------解决方案--------------------
泛型的extends不是继承...虽然都叫extends
extends表示泛型类型上限,? extends Class你可以理解为任何的Class类型可以加入集合
extends对于子类的加入会比较麻烦
还有个super,这个表示下限,可以用来加入子类

具体可以google 泛型的extends和super