Java String.equalsIgnoreCase()方法 – 不区分大小写的比较

Java String.equalsIgnoreCase()方法 – 不区分大小写的比较

原文: https://howtodoinjava.com/java/string/string-equalsignorecase-method/

Java 字符串equalsIgnoreCase()方法用于将字符串与方法参数对象进行比较,而忽略大小写考虑。

equalsIgnoreCase()方法中,如果两个字符串长度相同,并且忽略大小写,则两个字符串中的对应字符相等,则认为它们相等。

1. Java String.equalsIgnoreCase()方法

/**
* @param  anObject - The object to compare
* @return true -  if the non-null argument string represents the same sequence of characters to this string
*         false - in all other cases       
*/
public boolean equalsIgnoreCase(String anotherString) {
    return (this == anotherString) ? true
            : (anotherString != null)
            && (anotherString.value.length == value.length)
            && regionMatches(true, 0, anotherString, 0, value.length);
}

  1. Java equalsIgnoreCase()方法用于以不区分大小写的方式检查相等的字符串。
  2. 不要使用'=='运算符。 它检查对象引用,这在大多数情况下是不希望的。
  3. 允许将null传递给方法。 它将返回false

2. Java String.equalsIgnoreCase()示例

检查两个字符串是否相等的 Java 程序(不区分大小写)。 请注意,equals()equalsIgnoreCase()方法的行为方式相同,只是后者不区分大小写

public static void main(String[] args) 
    {
        String blogName = "howtodoinjava.com";
        String authorName = "Lokesh gupta";

        //1 - case-insensitive comparison
        isEqualString = blogName.equalsIgnoreCase("HOWTODOINJAVA.COM");   //true

        //2 - case-insensitive comparison
        isEqualString = blogName.equalsIgnoreCase("howtodoinjava.com");   //true

        //3 - check two strings for same character sequence ignoring case
        boolean isEqualString = blogName.equalsIgnoreCase(authorName);    //false

        //4 - null is allowed
        isEqualString = blogName.equalsIgnoreCase(null);                  //false

    }
}

3. Java String.equals()示例

Java 程序使用equals方法检查两个字符串是否相等(区分大小写)。

public class Main 
{
    public static void main(String[] args) 
    {
        String blogName = "howtodoinjava.com";
        String authorName = "Lokesh gupta";

        //1 - check two strings for same character sequence
        boolean isEqualString = blogName.equals(authorName);    //false

        //2
        isEqualString = blogName.equals("howtodoinjava.com");   //true

        //3
        isEqualString = blogName.equals(null);                  //false

        //4 - case-sensitive
        isEqualString = blogName.equals("HOWTODOINJAVA.COM");   //false
    }
}

4. equalsequalsIgnoreCase之间的区别

显然,在执行字符串比较时,Java 中equalsequalsIgnoreCase之间的差异是区分大小写。

  1. equals()方法进行区分大小写的比较。
  2. equalsIgnoreCase()方法进行不区分大小写的比较。

学习愉快!

参考:String Java 文档