Java 泛型和接口实现

Java 泛型和接口实现,java,generics,Java,Generics,我试着在下面的帖子上发表评论,但是我没有足够的代表分数。 我的简单问题是:以下两个代码之间有什么区别 请注意:我不确定前者是否是有效的语法,也许这就是答案 public class BinarySearchTree<T> extends Comparable<T> {} 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>> {}
公共类BinarySearchTree实现了可比较的{}
公共类二进制搜索树扩展了{}
该树具有可比性,可以容纳任何类型的树。树对象将根据它们所持有的类型进行比较。也许你只是在比较树的根元素
这是无效的,因为Comparable是一个接口;不能从接口扩展类

public class BinarySearchTree<T extends Comparable<T>> {}
公共类二进制搜索树{}
树只能包含可比较的类型。这是有效的

您可以将这两者结合为以下内容:

public class BinarySearchTree<T extends Comparable<T>> implements Comparable<BinaryTree<T>> {}
公共类BinarySearchTree实现了可比较的{}

我不确定前者是否是有效的语法:那么,在问问题之前,为什么不试着编译它呢?试着理解如何/编写什么代码。这是一个家庭作业问题,我只是很难理解二进制搜索树和排序值的整个概念。为什么这会阻止您在编辑器/IDE中键入这行代码并编译它呢?
class BinarySearchTree实现可比{}
可以说是完全不正确的,并且会破坏像
数组.sort
这样的方法。
Comparable
的实例通常会与相同类型的其他实例进行比较(即
String
与其他
String
进行比较)。(而且,
是一个编译错误。)这不是我问题的基础。但你是对的,我本可以通过编译来避免这部分问题。谢谢你的提示。我不确定前者是否是有效的语法:那么你为什么不在问问题之前试着编译它呢?试着理解如何/编写什么。这是一个家庭作业问题,我只是很难理解二进制搜索树和排序值的整个概念。为什么这会阻止您在编辑器/IDE中键入这行代码并编译它呢?
class BinarySearchTree实现可比{}
可以说是完全不正确的,并且会破坏像
数组.sort
这样的方法。
Comparable
的实例通常会与相同类型的其他实例进行比较(即
String
与其他
String
进行比较)。(而且,
是一个编译错误。)这不是我问题的基础。但你是对的,我本可以通过编译来避免这部分问题。谢谢你的提示,谢谢!在本例中,我们说:类型为T的类BinarySearchTree是类Compariable的子类,它也保存数据类型T。此外,这实现了数据类型BinarySearchTree的接口Compariable。我不会说谎。这是一件让我头疼的事。但如果我的思路正确,我会继续思考/阅读。再次感谢您的及时帮助。旁白:construct
Comparable
几乎总是不正确的。使用
Comparable我会说“包含类型T,它们是可比较的”,因为类的类型始终是二进制树。此外,可比性也不是一个可比性class@Miguel可能想看看谢谢!在本例中,我们说:类型为T的类BinarySearchTree是类Compariable的子类,它也保存数据类型T。此外,这实现了数据类型BinarySearchTree的接口Compariable。我不会说谎。这是一件让我头疼的事。但如果我的思路正确,我会继续思考/阅读。再次感谢您的及时帮助。旁白:construct
Comparable
几乎总是不正确的。使用
Comparable我会说“包含类型T,它们是可比较的”,因为类的类型始终是二进制树。此外,可比性也不是一个可比性class@Miguel可能想看看