[英]Generics and Interface Implementation
我尝试对下面的线程进行评论,但没有足够的代表点。
我的简单问题是:以下两个代码有什么区别?
请注意:我不确定前者是否甚至是有效的语法,也许就是答案。
public class BinarySearchTree<T> extends Comparable<T> {}
public class BinarySearchTree<T extends Comparable<T>> {}
public class BinarySearchTree<T> extends Comparable<T> {}
该树是可比较的,可以容纳任何类型。 树对象将通过它们持有的类型进行比较。 也许您仅在比较树的根元素?
这是无效的,因为Comparable是一个接口。 您不能从接口扩展类。
public class BinarySearchTree<T extends Comparable<T>> {}
该树只能包含可比较类型。 这是有效的。
您可以将两者合并为以下内容:
public class BinarySearchTree<T extends Comparable<T>> implements Comparable<BinaryTree<T>> {}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.