java.util.List的超类问题

[code="java"]
//为什么是null不应该是Collection.class吗
java.util.List.class.klass.getSuperclass()==null
//为什么是false
java.util.List.class.klass.isAssignableFrom(Collection.class==false
[/code]

1.文档中这样说:返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的超类的 Class。如果此 Class 表示 Object 类、一个接口、一个基本类型或 void,则返回 null。如果此对象表示一个数组类,则返回表示该 Object 类的 Class 对象。
解释:很明显他的超类是接口,所以返回null
2.文档中这样说:判定此 Class 对象所表示的类或接口与指定的 Class 参数所表示的类或接口是否相同,或是否是其超类或超接口。如果是则返回 true,否则返回 false。
解释:因为List不是Collection的超类,因此返回false,如果你这样写就会返回true了:

[code="java"]Collection.class.isAssignableFrom(java.util.List.class)[/code]