compareTo( )方法的功能是什么?当比较结果分别为负数、正数、0时,各代表什么含义?
时间: 2024-10-14 20:15:38 浏览: 32
详解java中保持compareTo和equals同步
`compareTo()` 是 `Comparable` 接口的一个方法,主要用于比较两个对象之间的顺序。在 `String` 类中,这个方法用于比较两个字符串字典序的先后。它的返回值规则如下:
- 如果第一个字符串按字典序在前,那么返回一个负整数(如 -1)。
- 如果第二个字符串在前,返回一个正整数(如 1)。
- 如果两者相等,返回 0。
简而言之,`compareTo()` 的目的是为了排序,它会按照字符的Unicode编码值进行比较:
- 负数表示第一个字符串小于第二个;
- 正数表示第一个字符串大于第二个;
- 0 表示两个字符串相等。
例如:
```java
String s1 = "apple";
String s2 = "banana";
int result = s1.compareTo(s2);
if (result < 0) {
System.out.println("s1 comes before s2");
} else if (result > 0) {
System.out.println("s1 comes after s2");
} else {
System.out.println("s1 and s2 are equal");
}
```
在这个例子中,由于 "apple" 字典序在 "banana" 之前,所以 `compareTo(s2)` 返回负数,输出 "s1 comes before s2"。
阅读全文