我很难理解compareTo及其用途

时间:2014-04-11 20:38:46

标签: java object

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

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

1 个答案:

答案 0 :(得分:0)

compareTo方法是Comparable接口的唯一成员。这种方法有两种变体。第一种方法将此String与另一个Object进行比较,第二种方法按字典顺序比较两个字符串。

int compareTo(Object o)

int compareTo(String anotherString)

为什么我们需要compareTo()?

排序是应用程序开发的重要部分,您经常需要在系统中实现它。 Java排序是使用Java中的ComparatorComparable实现的。由于我们在Collection中存储java对象,因此当您在其上插入元素时,也会有某些Set和Map提供自动排序。 TreeSetTreeMap。要实现排序,您需要覆盖compareTo(Object o)方法或Comparable类或compare(Object o1, Object o2)Comparator方法。大多数类实现Comparable以实现自然顺序。例如,如果您正在编写Employee对象,您可能希望实现Comparable接口并覆盖compareTo()方法,以根据ID将当前员工与其他员工进行比较。所以基本上你需要覆盖compareTo(),因为你需要在ArrayList或任何其他Collection中对元素进行排序。

了解详情:http://javarevisited.blogspot.com/2011/11/how-to-override-compareto-method-in.html#ixzz2yc2rJ9Er