java泛型是1.5引进的一个新概念.本题对于"?super T"和"?extends T",我从书上摘个经典的例子给你看看,如果不能理解,那么你就参考以下书籍慢慢体会,循序渐进!super T"和"?extends T",都是java泛型通配符,而用法又有区别,还有super 和extends 不是java类关系中的超类和继承的意思,他是通配符的下限和上限限制.下面看一个通配符得高级用法:在这一部分,我们来考虑一些通配符得高级用法.我们已经看到了上限通配符在从一个数据结构中进行读取的几个例子.现在考虑相反的情况,一个只写的数据结构.接口Sink是这种情况的一个简单例子.interface Sink { void flush(T t); } 我们可以想象他被如下面的代码一样使用.方法writeAll() 被设计来把集合coll的所有元素flush到sink snk,并且返回最后一个flush的元素.public static T writeAll(Collection coll,Sink snk) { T last = null; for (T t :coll) { last = t; snk.flush(last); } return last; } Sink s; Collection cs; String str = writeAll(cs,s); // 非法的调用!像上面所写,writeAll() 的调用是非法的,因为没有有效的类型参数可以被推断出来.String 或 Object都不是T的合适的类型,因为Collection的元素和 Sink的元素必须是同样的类型.我们可以解决这个问题,通过使用通配符来修改writeAll()的方法签名,如下:T writeAll(Collection