我尝试对下面的线程进行评论,但没有足够的代表点。
我的简单问题是:以下两个代码有什么区别?
请注意:我不确定前者是否甚至是有效的语法,也许就是答案。
public class BinarySearchTree<T> extends Comparable<T> {}
public class BinarySearchTree<T extends Comparable<T>> {}
答案 0 :(得分:4)
public class BinarySearchTree<T> extends Comparable<T> {}
树是可比较的,并且可以容纳任何类型。树对象将通过它们持有的类型进行比较。也许您仅在比较树的根元素?
这是无效的,因为Comparable是一个接口;您不能从接口扩展类。
public class BinarySearchTree<T extends Comparable<T>> {}
树只能包含Comparable类型。这是有效的。
您可以将两者合并为以下内容:
public class BinarySearchTree<T extends Comparable<T>> implements Comparable<BinaryTree<T>> {}