我认为您应该使用Collator类。它允许您设置强度和区域设置,并将适当地比较字符。
从Java 1.6 API中:
您可以设置“整理器”的“强度”属性来确定在比较中被视为重要的差异水平。提供了四个优势:主要,次要,高等教育和同等优势。语言功能的优势确切分配取决于语言环境。例如,在捷克语中,“
e”和“ f”被认为是主要区别,而“ e”和“ě”是次要区别,“ e”和“ E”是三次区别,而“ e”和“ e”相同。
我认为这里的重点(人们正在尝试做到的)是,“
Joao”和“João”永远不应被视为相等,但是,如果要进行排序,则不希望基于ASCII值对它们进行比较因为那样您会遇到Joao,John,João之类的东西,这是不好的。使用collator类肯定可以正确处理此问题。



