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

> 原文： [https://howtodoinjava.com/java/string/string-equalsignorecase-method/](https://howtodoinjava.com/java/string/string-equalsignorecase-method/)

[Java 字符串](https://howtodoinjava.com/java-string/)`equalsIgnoreCase()`方法用于将字符串与方法参数对象进行比较，而忽略大小写考虑。

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

## 1\. Java `String.equalsIgnoreCase()`方法

```java
/**
* @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()`方法的行为方式相同，只是后者*不区分大小写*。

```java
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`](https://howtodoinjava.com/java/string/string-equals-method/)方法检查两个字符串是否相等（区分大小写）。

```java
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\. `equals`和`equalsIgnoreCase`之间的区别

显然，在执行字符串比较时，Java 中`equals`和`equalsIgnoreCase`之间的差异是区分大小写。

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

学习愉快！

参考：[`String` Java 文档](https://docs.oracle.com/javase/9/docs/api/java/lang/String.html)