# 字符串比较

对文本进行排序 的应用程序经常执行 字符串比较。例如,报表生成器在按 字母顺序 对字符串列表排序时执行字符串比较。

如果您的应用程序的受众仅限于说英语的人,那么您可以使用 string . compareto 方法执行字符串比较。compareto方法对两个字符串中的 Unicode 字符执行二进制比较。但是,对于大多数语言,不能依赖这种二进制比较来对字符串进行排序,因为 Unicode 值与字符的相对顺序不对应。

幸运的是,Collator 类允许应用程序执行不同语言的字符串比较。在本节中,您将学习如何在对文本进行排序时使用 Collator 类。

  • 执行与 Locale 敏感的比较

    排序规则定义字符串的排序序列。这些规则因地区而异,因为各种自然语言对单词的排序不同。使用 Collator类提供的预定义排序规则,可以以与 Locale 敏感的方式对字符串排序。

  • 自定义排序规则

    在某些情况下,Collator 类提供的预定义排序规则可能不适用于您。例如,您可能希望在 Collator 不支持其 Locale 设置的语言中对字符串进行排序。在这种情况下,您可以定义自己的排序规则,并将它们分配给RuleBasedCollator 对象。

  • 改善排序性能

    在 CollationKey 类中,你可以提高字符串 比较的效率。这个类将字符串对象转换为符合给定排序器规则的排序键。