compareTo()
方法按字典顺序(按字典顺序)比较两个字符串。比较基于字符串中每个字符的 Unicode 值。
示例
class Main { public static void main(String[] args) { String str1 = "Learn Java"; String str2 = "Learn Kolin"; int result; // comparing str1 with str2 result = str1.compareTo(str2); System.out.println(result); } } // Output:-1
compareTo() 的语法
compareTo()
方法的语法是:
string.compareTo(String str)
这里,
string 是
String
类的对象。
compareTo() 参数
compareTo()
方法接受一个参数。
compareTo() 返回值
如果字符串相等,则返回 0 返回一个负整数,如果string
在字典顺序中出现在str
参数之前
返回一个正整数,如果string
在字典顺序中出现在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
示例 3: compareTo() 与 Case
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 String compareToIgnoreCase() 方法。
如果将 null
传递给 compareTo()
方法,则会出现错误。
相关教程: Java String equals()