在官方Java文档中,有一些练习在泛型章节结尾处有答案。我能够解决最多,但一个答案对我来说并不清楚。您可以找到问题和答案here。我不明白问题8的答案。他们为什么要写
<T extends Object & Comparable<? super T>>
我写了
<T extends Comparable<? super T>>
并且不知道为什么扩展Object是必要的或更好的。
答案 0 :(得分:1)
我不得不三思而后行。原因如下:
如果你写了
<T extends Comparable<? super T>>
这意味着您的T
必须延伸 Comparable
。你想要的是实施 Comparable
。
为了做到这一点,你必须让它扩展一个类,然后确定必须实现哪些接口。
由于您不需要任何特殊类,因此必须扩展Object
,一旦完成,您就可以精确地实现哪个接口。
语法:
<T extends ClassToExtend & InterfaceToImplement>