Java 我很难理解compareTo及其用法

Java 我很难理解compareTo及其用法,java,object,Java,Object,key是一个对象,entry是一个class.java创建在同一个文件夹中。我很难理解这行代码在做什么 compareTo方法是可比界面的唯一成员。此方法有两种变体。第一个方法将此字符串与另一个对象进行比较,第二个方法按字典顺序比较两个字符串。 int testing = key.compareTo(node.entry.key()); 或 为什么我们需要compareTo()? 排序是应用程序开发的一个重要部分,通常需要在系统中实现。在Java中,排序是使用Java中的Comparator和

key是一个对象,entry是一个class.java创建在同一个文件夹中。我很难理解这行代码在做什么

compareTo方法是可比界面的唯一成员。此方法有两种变体。第一个方法将此字符串与另一个对象进行比较,第二个方法按字典顺序比较两个字符串。

int testing = key.compareTo(node.entry.key());

为什么我们需要compareTo()?

排序是应用程序开发的一个重要部分,通常需要在系统中实现。在Java中,排序是使用Java中的
Comparator
Comparable
实现的。由于我们将java对象存储在
集合中
中,因此还存在某些集合和映射,当您在其中插入元素时,这些集合和映射提供了自动排序,例如
TreeSet
TreeMap
。要实现排序,您需要覆盖
compareTo(对象o)
方法或
Comparable
class或
compare(对象o1,对象o2)
Comparatorclass的方法。大多数类实现了可比性,以实现自然顺序。例如,如果您正在编写Employee对象,您可能希望实现Compariable接口并重写
compareTo()
方法,以便根据ID将当前员工与其他员工进行比较。因此,本质上您需要重写
compareTo()
,因为您需要对ArrayList或任何其他集合中的元素进行排序


阅读更多信息:

您能详细说明文档中您不了解的内容吗?也许可以突出显示您遇到问题的句子?它将
key
引用的对象与
node.entry.key()
的返回值引用的对象进行比较,并将结果存储在变量
testing
中。谢谢,这很有帮助。@user3525283不客气。如果您对答案感到满意,请尝试接受它。
compareTo
方法没有两种变体!只有一个:
比较(T其他)
。要理解
T
是什么,您需要了解一下。@yshavit:谢谢您的输入。
int compareTo(Object o)
int compareTo(String anotherString)