Java String equalsIgnoreCase()

2025 年 3 月 24 日 | 阅读 3 分钟

Java 中的 **String 类 equalsIgnoreCase()** 方法根据字符串的内容比较两个给定的字符串,而不考虑字符串的大小写(小写和大写)。它类似于 equals() 方法,但它不检查大小写敏感性。如果任何字符不匹配,则返回 false,否则返回 true。

签名

参数

str:另一个字符串,即与此字符串进行比较的字符串。

返回值

如果两个字符串的字符相等(忽略大小写),则返回 **true**,否则返回 **false**。

内部实现

从实现可以看出,equalsIgnoreCase() 方法会调用 regionMatches() 方法。这使得 equalsIgnoreCase() 方法不区分大小写。regionMatches() 方法的签名如下所示。

public boolean regionMatches(boolean ignoreCase, int toffset, String other, int ooffset, int len)

regionMatches() 方法解析五个参数。在上面的实现中,第一个参数 **ignoreCase** 设置为 true。因此,当执行该方法时,它会检查 ignoreCase 标志是否为 true。如果是,则从两个字符串中各取一个字符进行比较。如果比较结果为 false,则将两个字符都转换为大写,然后检查比较是否仍然为 false,然后将两个字符都转换为小写,然后进行比较。如果比较结果为 true,则表示两个字符串的内容相等;否则不相等。下面提供了所讨论的比较的代码片段。

有人可能会争辩说,如果我们进行大写转换后的比较,那么为什么还需要通过小写转换进行额外的比较。这是为了满足格鲁吉亚字母的要求。大写转换对于格鲁吉亚字母来说并不奏效,因为它们在大小写转换方面有一些奇怪的规则。因此,需要通过将字符转换为小写来进行一次额外的比较。

Java String equalsIgnoreCase() 方法示例

示例

编译并运行

输出

true
true
false

Java String equalsIgnoreCase() 方法示例 2

让我们来看一个测试字符串相等性的示例。

输出

Mukesh kumar is present