Comparing Strings
排序文本的应用程序执行频繁的字符串 比较。例如,当按字母 Sequences 对字符串 列表进行排序时,报表生成器将执行字符串 比较。
如果您的应用程序受众仅限于说英语的人,则可以使用String.compareTo
方法执行字符串 比较。 String.compareTo
方法对两个字符串 中的 Unicode 字符执行二进制比较。但是,对于大多数语言来说,不能依靠这种二进制比较来对字符串 进行排序,因为 Unicode 值不对应于字符的相对 Sequences。
幸运的是,Collator类允许您的应用程序对不同语言执行字符串 比较。在本节中,您将学习在对文本进行排序时如何使用Collator
类。
执行与语言环境无关的比较
排序规则定义字符串 的排序 Sequences。这些规则因地区而异,因为各种自然语言对单词的排序方式不同。使用Collator
类提供的 预定义归类规则,可以以与语言环境无关的方式对字符串 进行排序。
自定义归类规则
在某些情况下,Collator
类提供的 预定义排序规则可能对您不起作用。例如,您可能想使用Collator
不支持其语言环境的语言对字符串 进行排序。在这种情况下,您可以定义自己的整理规则,并将其分配给RuleBasedCollator
对象。
提高整理性能
使用CollationKey
类,可以提高字符串 比较的效率。此类将String
个对象转换为符合给定Collator
规则的排序键。