equalsIgnoreCase()
是 Java 中 String
类的一个方法,用于比较两个字符串是否相等,同时忽略大小写
equalsIgnoreCase()
替代 equals()
:当你需要比较两个字符串是否相等,同时希望忽略大小写时,可以使用 equalsIgnoreCase()
方法。这样可以避免在比较之前将字符串转换为统一的大小写格式,从而提高代码的可读性和效率。String str1 = "Hello";
String str2 = "hello";
boolean result = str1.equalsIgnoreCase(str2); // true
equalsIgnoreCase()
方法之前,确保传入的参数不为 null
。如果传入的参数可能为 null
,可以使用 Objects.equals()
方法,它会自动处理空值情况。String str1 = "Hello";
String str2 = null;
boolean result = Objects.equals(str1, str2); // false
equals()
方法。但请注意,equals()
方法是区分大小写的。String str1 = "Hello";
String str2 = "hello";
boolean result = str1.equals(str2); // false
false
,避免进行耗时的字符比较操作。public static boolean equalsIgnoreCase(String s1, String s2) {
if (s1 == null || s2 == null) {
return s1 == s2;
}
if (s1.length() != s2.length()) {
return false;
}
return s1.equalsIgnoreCase(s2);
}
Pattern
和 Matcher
类可以帮助你实现这一目标。String pattern = "^h.*o$"; // 以 h 开头,以 o 结尾的字符串
String input = "Hello";
boolean result = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE).matcher(input).matches(); // true
总之,equalsIgnoreCase()
方法是一个非常实用的工具,可以帮助你在各种场景下比较字符串。在使用时,请确保了解其特性并根据实际需求选择合适的比较方法。