Java compareTo

compareTo() 方法用于两种方式的比较:

  • 字符串与对象进行比较。
  • 按字典顺序比较两个字符串。

语法

int compareTo(Object o)

int compareTo(String anotherString)

参数

o – 要比较的对象。

anotherString – 要比较的字符串。

返回值

返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的长度差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方结束。

如果参数字符串等于此字符串,则返回值 0;
如果此字符串小于字符串参数,则返回一个小于 0 的值;
如果此字符串大于字符串参数,则返回一个大于 0 的值。

例子

public class Item implements Comparable<Item> {
    
    
        String name;
        int cost;   // in cents
        public Item(String n, int c) {
    
    
            name = n;
            cost = c;
        }
        public String toString() {
    
    
            return name + " " + cost;
        }

        @Override
        public int compareTo(Item o) {
    
    
            if(this.cost == o.cost) return this.name.compareTo(o.name);
            else return this.cost - o.cost;
        }
    }

排序用

Collections.sort(