什么是 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()方法接收字符串或对象作为参数,如上面的语法所示。退货
- 如果两者按字典顺序相等,则返回 0。
- 如果比较的字符串或对象按字典顺序更大,则返回正整数。
- 如果比较的其中之一按字典顺序较小,则返回负整数。
例外情况
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
我们知道str和str1字符串按字典顺序相等,因此返回 0。在比较str和str2时,它返回负 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
GO TO FULL VERSION