Java字符串compareToIgnoreCase()方法示例

Java字符串 compareToIgnoreCase()方法按字典顺序比较两个字符串,忽略case。此方法与方法相同,String.compareTo()compareTo()方法区分大小写。

1.字符串compareToIgnoreCase()方法

compareToIgnoreCase()方法中,按字典顺序(字典顺序)忽略大小写比较两个字符串。第一个字符串是在其上调用方法的String对象本身。第二个字符串是方法的参数。

此方法根据字符串中每个字符的Unicode值进行字符串比较。

1.1。方法返回类型

此方法的结果为整数值,其中–

  1. 正整数 -表示字符串对象在字典上跟随自变量字符串。
  2. 负整数 –表示字符串对象在字典上在参数字符串之前。
  3.  –表示两个字符串相等。

1.2。方法实施

此方法使用的CaseInsensitiveComparator类是String类的静态内部类。字符串比较是在其compare()方法中完成的。

public int compare(String s1, String s2) {
    int n1 = s1.length();
    int n2 = s2.length();
    int min = Math.min(n1, n2);
    for (int i = 0; i < min; i++) {
        char c1 = s1.charAt(i);
        char c2 = s2.charAt(i);
        if (c1 != c2) {
            c1 = Character.toUpperCase(c1);
            c2 = Character.toUpperCase(c2);
            if (c1 != c2) {
                c1 = Character.toLowerCase(c1);
                c2 = Character.toLowerCase(c2);
                if (c1 != c2) {
                    // No overflow because of numeric promotion
                    return c1 - c2;
                }
            }
        }
    }
    return n1 - n2;
}

2。 Java字符串compareToIgnoreCase()示例

Java程序以不区分大小写的方式比较两个字符串。请注意,compareTo()compareToIgnoreCase()方法的行为方式相同,但稍后是不区分大小写的

字符串equalsIgnoreCase()示例
public class Main
{
    public static void main(String[] args)
    {
        System.out.println( "apple".compareTo("BANANA") );                     //31
        System.out.println( "apple".compareToIgnoreCase("banana") );            //-1
        
        System.out.println( "cherry".compareTo("cherry") );                     //0
        System.out.println( "cherry".compareToIgnoreCase("CHERRY") );           //0
    }
}

3。 compareToIgnoreCase()与equalsIgnoreCase()

了解compareToIgnoreCase()equalsIgnoreCase()方法之间的主要区别。

  • compareToIgnoreCase()按字典顺序比较(字典顺序)。
    equalsIgnoreCase()检查两个字符串是否相等的字符串相等性。虽然两者都不区分大小写。
  • 返回类型compareToIgnoreCase()整数,其表示一个字符串是大于,小于或等于另一个字符串类型。
    返回类型equalsIgnoreCase()布尔值,表示两个字符串相等或不相等。

4。 Java字符串compareTo()示例

Java程序使用String compareTo()方法比较字符串。

字符串compareTo()示例
public class Main
{
    public static void main(String[] args)
    {
        System.out.println( "apple".compareTo("banana") );  //-1 - apple comes before banana
        System.out.println( "apple".compareTo("cherry") );  //-2 - apple comes before cherry
        System.out.println( "cherry".compareTo("banana") ); //1  - cherry comes after banana
        System.out.println( "cherry".compareTo("cherry") ); //0  - Both strings are equal
    }
}

参考:字符串Java文档

saigon has written 1445 articles

Leave a Reply