Java String compareTo()

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)

这里,stringString类的一个对象


compareTo() 参数

compareTo() 方法接受一个参数。

  • str - 要比较的字符串

compareTo() 返回值

  • 如果字符串相等,则返回 0
  • 如果字符串在字典顺序上排在 str 参数之前,则返回一个负整数
  • 如果字符串在字典顺序上排在 str 参数之后,则返回一个正整数

示例:Java String 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 } }

这里,

  • str1str2 相等。因此,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() 与大小写

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() 方法,您将收到一个错误。

另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战