CodeGym /Java 博客 /随机的 /Java 字符串compareTo()方法
John Squirrels
第 41 级
San Francisco

Java 字符串compareTo()方法

已在 随机的 群组中发布

什么是 Java StringcompareTo() 方法?

如果两个字符串按字典顺序相等,则java 字符串类的compareTo()方法返回0 值。如果比较的字符串按字典顺序更大,则返回正值,否则返回负值。因此Java字符串compareTo()方法用于比较两个字符串。此方法始终使用字符串中每个字符的unicode值来比较它们。在比较字符串时,如果其中任何一个为空,则始终返回字符串的长度。如果任何字符串为空,则可能会出现两种情况。如果第一个字符串为空,则返回负值,否则返回正值。Java string.compareTo()方法默认区分大小写,但我们可以使用 Java String类的compareToIgnoreCase()方法在比较过程中忽略大小写。如上所述,此方法还返回负整数、0 或正整数。

句法

public int compareTo(string str)
public int compareTo(object obj)

参数

Java 字符串compareTo()方法接收字符串或对象作为参数,如上面的语法所示。

退货

  1. 如果两者按字典顺序相等,则返回 0。
  2. 如果比较的字符串或对象按字典顺序更大,则返回正整数。
  3. 如果比较的其中之一按字典顺序较小,则返回负整数。

例外情况

CompareTo ()方法返回 2 个异常。
  • ClassCastException,如果对象无法比较则返回此异常。
  • NullPointerException,如果字符串为 null,则抛出 NullPointerException 。

Java StringcompareTo() 方法示例

class Main {
  public static void main(String[] args) {
    // declaring strings to be used in this example for Java string     compareTo() method
    String str = "Java compareTo() method example";
    String str1 = "Java compareTo() method example";
    String str2 = "this is Java compareTo() method example";
    String str3 = "Java CompareTo() Method Example";
    String str4 = "a Java compareTo() method example";
    String str5 = new String("Java compareTo() method example");

    // comparing the str and str1 strings
    System.out.println(str.compareTo(str1));

    // comparing the str and str2 strings
    System.out.println(str.compareTo(str2));

    // comparing the str and str3 strings
    System.out.println(str.compareTo(str3));

    // comparing the str and str4 strings
    System.out.println(str.compareTo(str4));

    // comparing the str string and str5 string object
    System.out.println(str.compareTo(str5));
  }
}

输出

0 -42 74 -23 0
我们知道strstr1字符串按字典顺序相等,因此返回 0。在比较strstr2时,它返回负 42 值,因为比较的字符串str按字典顺序较小,因此它是负值,并且基于 unicode 值 t char 和 J char相差 42,因此返回 -42 值。对于其余部分,您可以查看结果以更好地理解此方法。

空字符串的示例

public class Main{
    public static void main(String args[]){
        String str="compareTo()";

        // declaring an empty string
        String str1="";
        String str2="method";

        System.out.println(str.compareTo(str1));
        System.out.println(str1.compareTo(str2));
    }
}

输出

11 -6

忽略大小写的示例

public class Main{
    public static void main(String args[]){
        String str="compareTo()";

        // declaring the same string with uppercase letters
        String str1="COMPARETO()";

        System.out.println(str.compareTo(str1));
        System.out.println(str.compareToIgnoreCase(str1));
    }
}

输出

32 0

结论

我们希望现在您了解什么是Java字符串compareTo()方法,以及如何实现它进行字符串比较,以及它的不同用户案例,例如空字符串比较和忽略大小写敏感。请随意练习,并在需要更多帮助时返回。快乐学习!
评论
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION