文档

Java™ 教程-Java Tutorials 中文版
比较字符串
Trail: Internationalization
Lesson: Working with Text

比较字符串

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

如果你的应用程序受众仅限于说英语的人,则可以使用 String.compareTo 方法执行字符串比较。String.compareTo 方法对两个字符串中的 Unicode 字符执行二进制比较。(译注:这里的二进制比较或许应该翻译为二元比较?后面的 CollationKey 才说是按位比较)但是,对于大多数语言,不能依赖此二进制比较来对字符串进行排序,因为 Unicode 值与字符的相对顺序不对应。

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

执行与语言环境无关的比较

排序规则定义字符串的排序顺序。这些规则因语言环境而异,因为各种自然语言对单词的排序方式不同。使用 Collator 类提供的预定义排序规则,你可以以与语言环境无关的方式对字符串进行排序。

自定义排序规则

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

提高排序性能

使用 CollationKey 类,可以提高字符串比较的效率。此类将 String 对象转换为符合给定 Collator 规则的排序键。


Previous page: Checking Character Properties
Next page: Performing Locale-Independent Comparisons