class BinarySearch<T extends Comparable<? super T> >
为什么
T extends Comparable <? super T>
包括 T
,意味着包括 Comparable<T>
而不仅仅是超类层次结构?我对 super 关键字感到困惑,因为我认为 super 只包括超类项。我是 Java 新手,在 Java 书中有以下示例:这是关于一个类中的方法,该方法试图使用 Java.awt.Component 限制层次结构的上限和下限,所以该类扩展了 Container。
class CustomComponent<T extends Container>
在这个类中,他们有以下方法:
void describeComponent<CustomComponent<? super JPasswordField> ref)
然后继续说:
请注意,JPasswordField是JTextField的超类,但它本身被省略在允许对象列表中。
class Animal implements Comparable<Animal>
和class Dog extends Animal
,则该约束将接受所有可与Animal
进行比较的Dog
,即使它不能与Dog
具体相比。话虽如此,你也不希望阻止这种情况-? super T
意味着不仅仅是T
的超类,而是 "T
或者其任何超类"。 - millimoosedescribeComponent
方法文档的链接吗?它似乎是错误的(或者可能是混淆了),但没有更多的上下文很难确定。 - Alan Stokes