有没有办法在不区分大小写的情况下比较 2 个字符串?

Is there a way to compare 2 Strings without it being case-sensitive?

我刚刚花了将近一个小时调试代码中的 List<String>,但我的 Comparator 排序错误。

原来 string.compareTo(string2) 是区分大小写的。这意味着所有大写字母都在小写字母之前。例如"Z" 在 "d" 之前。

有没有更好的方法来比较 Comparator 中的 2 Strings 并按字母升序对它们进行排序而不区分大小写 string.toLowerCase().compareTo(string2.toLowerCase());

编辑:我的 String 中可能出现任何重音字母,例如:ä、ö、ü、é、è 等

使用String.CASE_INSENSITIVE_ORDER.compare

compareToIgnoreCase

字符串 Api 有第二个比较函数,它在忽略大小写的情况下进行比较。

string1.compareToIgnoreCase(string2);

字符串本身提供了两个选项:

提示:您的第一站应该是 Javadoc,而不是 post Stack Overflow 上的问题:Javadoc 内容广泛,通常会提供快速答案。

使用 compareToIgnoreCase() 方法

https://docs.oracle.com/javase/9/docs/api/java/lang/String.html#compareToIgnoreCase-java.lang.String-