在 Java 中,如果想忽略大小写处理 String,常见有下面几种方式,按使用场景说明:
equalsIgnoreCaseString a = "Hello";
String b = "hello";
if (a.equalsIgnoreCase(b)) {
System.out.println("相等(忽略大小写)");
}
✅ 用于:判断两个字符串是否相等(忽略大小写)
String.CASE_INSENSITIVE_ORDERList<String> list = Arrays.asList("banana", "Apple", "cherry");
list.sort(String.CASE_INSENSITIVE_ORDER);
System.out.println(list);
✅ 用于:排序、TreeMap / TreeSet
String text = "Hello World";
if (text.toLowerCase().contains("hello".toLowerCase())) {
System.out.println("包含");
}
if (text.matches("(?i).*hello.*")) {
System.out.println("包含(忽略大小写)");
}
String regex = "abc";
boolean match = "ABC".matches("(?i)" + regex);
或在 Pattern 中:
Pattern p = Pattern.compile("abc", Pattern.CASE_INSENSITIVE);
Java 没有直接的 startsWithIgnoreCase,可以:
String s = "HelloWorld";
if (s.regionMatches(true, 0, "hello", 0, 5)) {
System.out.println("以 hello 开头(忽略大小写)");
}
| 场景 | 推荐方式 |
|---|---|
| 相等判断 | equalsIgnoreCase |
| 排序 | CASE_INSENSITIVE_ORDER |
| 包含 | toLowerCase() / 正则 |
| 正则 | (?i) 或 Pattern.CASE_INSENSITIVE |
如果你是某个具体场景(比如 JSON、数据库、Map key),可以告诉我,我给你更合适的写法。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。