有没有办法比较2个字符串而不区分大小写?

时间:2018-11-16 09:38:37

标签: java comparator

我刚刚花了将近一个小时的时间来调试自己的代码中的List<String>,而该错误被我的Comparator分类。

证明string.compareTo(string2)区分大小写。意味着所有大写字母都在小写字母之前。例如“ Z”在“ d”之前。

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

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

4 个答案:

答案 0 :(得分:12)

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

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

答案 1 :(得分:6)

使用String.CASE_INSENSITIVE_ORDER.compare

答案 2 :(得分:1)

答案 3 :(得分:0)

compareToIgnoreCase

字符串Api具有第二个进行比较的函数,该函数在不区分大小写的情况下进行比较。

string1.compareToIgnoreCase(string2);