compareTo()
方法的语法为:
string.compareTo(String str)
在这里, 字符串是String
类的对象。
compareTo()参数
compareTo()
方法采用单个参数。
- str-要比较的字符串
compareTo()返回值
- 如果字符串相等,则返回0
- 如果字符串按字典顺序位于
str
参数之前,则返回负整数 - 如果字符串在字典顺序中位于
str
参数之前,则返回正整数
示例:Java字符串compareTo()
class Main {
public static void main(String[] args) {
String str1 = "Learn Java";
String str2 = "Learn Java";
String str3 = "Learn Kolin";
int result;
// comparing str1 with str2
result = str1.compareTo(str2);
System.out.println(result); // 0
// comparing str1 with str3
result = str1.compareTo(str3);
System.out.println(result); // -1
// comparing str3 with str1
result = str3.compareTo(str1);
System.out.println(result); // 1
}
}
这里,
- str1和str2相等。因此,
str1.compareTo(str2)
返回0。 - 按字典顺序, str1在str3之前。因此,
str1.compareTo(str3)
返回负值,而str3.compareTo(str1)
返回正值。
示例2:检查两个字符串是否相等
class Main {
public static void main(String[] args) {
String str1 = "Learn Python";
String str2 = "Learn Java";
// if str1 and str2 are equal, the result is 0
if (str1.compareTo(str2) == 0) {
System.out.println("str1 and str2 are equal");
}
else {
System.out.println("str1 and str2 are not equal");
}
}
}
输出
str1 and str2 are not equal
compareTo()
方法考虑字母大小写(大写和小写)。
示例3:带案例的compareTo()
class Main {
public static void main(String[] args) {
String str1 = "Learn Java";
String str2 = "learn Java";
int result;
// comparing str1 with str2
result = str1.compareTo(str2);
System.out.println(result); // -32
}
}
将"Learn Java"
与"learn Java"
,我们不会得到0。这是因为compareTo()
考虑了字母大小写。
笔记:
- 如果需要比较两个字符串而不区分大小写,请使用Java字符串compareToIgnoreCase()方法。
- 如果将
null
传递给compareTo()
方法,则会收到错误消息。
相关教程: Java字符串equals()