equalsIgnoreCase方法用于忽略大小写比较字符串内容是否相等,属于String类,返回布尔值。例如"Hello".equalsIgnoreCase("hello")返回true,而"Test".equalsIgnoreCase("test123")返回false。与==比较引用地址、equals区分大小写不同,equalsIgnoreCase适用于登录验证、命令匹配等需忽略大小写的场景,如判断用户输入的"exit"、"EXIT"均可退出程序。使用时需注意避免空指针异常,推荐先判空再调用,即if(str1 != null && str1.equalsIgnoreCase(str2)),以确保安全。

在Java中,equalsIgnoreCase 方法用于比较两个字符串是否相等,忽略大小写差异。这个方法属于 String 类,常用于用户输入处理、登录验证、配置匹配等场景,避免因大小写不同导致的误判。
方法基本用法
equalsIgnoreCase 接收一个字符串参数,返回值是布尔类型(true 或 false)。只要两个字符串的内容相同(不区分大小写),就返回 true。
例如:
"Hello".equalsIgnoreCase("hello") 返回 true"Java".equalsIgnoreCase("JAVA") 返回 true"Test".equalsIgnoreCase("test123") 返回 false
与 == 和 equals 的区别
== 比较的是对象引用地址,不是内容。
equals 比较字符串内容,但区分大小写。
equalsIgnoreCase 比较内容且不区分大小写,适合更宽松的匹配需求。
示例对比:
立即学习“Java免费学习笔记(深入)”;
免费 盛世企业网站管理系统(SnSee)系统完全免费使用,无任何功能模块使用限制,在使用过程中如遇到相关问题可以去官方论坛参与讨论。开源 系统Web代码完全开源,在您使用过程中可以根据自已实际情况加以调整或修改,完全可以满足您的需求。强大且灵活 独创的多语言功能,可以直接在后台自由设定语言版本,其语言版本不限数量,可根据自已需要进行任意设置;系统各模块可在后台自由设置及开启;强大且适用的后台管理支
-
"Apple".equals("apple")→ false -
"Apple".equalsIgnoreCase("apple")→ true
实际应用场景
常见于用户登录、菜单选择或配置读取时,提升程序的容错性。
比如判断用户输入的命令:
String input = scanner.nextLine();
if ("exit".equalsIgnoreCase(input)) {
System.out.println("程序退出");
}
这样无论用户输入 "Exit"、"EXIT" 还是 "exit",都能正确识别。
注意事项
该方法会自动处理 null 值:如果调用方字符串为 null,会抛出 NullPointerException。因此在调用前应确保字符串非空。
推荐写法:
String str1 = getUserInput();
String str2 = "yes";
if (str1 != null && str1.equalsIgnoreCase(str2)) {
// 安全比较
}
基本上就这些。掌握 equalsIgnoreCase 能让字符串比较更灵活,特别适合对大小写不敏感的业务逻辑。使用时注意空值判断即可。









