Download the JDK
Search the Tutorials
Hide the TOC
Trail: Internationalization
Lesson: Working with Text
Working with Text
Checking Character Properties
Comparing Strings
Performing Locale-Independent Comparisons
Customizing Collation Rules
Improving Collation Performance
Detecting Text Boundaries
About the BreakIterator Class
Character Boundaries
Word Boundaries
Sentence Boundaries
Line Boundaries
Converting Non-Unicode Text
Byte Encodings and Strings
Character and Byte Streams
Normalizer's API
Home Page > Internationalization > Working with Text
Comparing Strings

> Applications that sort through text perform frequent string comparisons. For example, a report generator performs string comparisons when sorting a list of strings in alphabetical order.

> If your application audience is limited to people who speak English, you can probably perform string comparisons with the `String.compareTo` method. The `String.compareTo` method performs a binary comparison of the Unicode characters within the two strings. For most languages, however, this binary comparison cannot be relied on to sort strings, because the Unicode values do not correspond to the relative order of the characters.

> Fortunately the `Collator` class allows your application to perform string comparisons for different languages. In this section, you'll learn how to use the `Collator` class when sorting text.

### Performing Locale-Independent Comparisons

> Collation rules define the sort sequence of strings. These rules vary with locale, because various natural languages sort words differently. Using the predefined collation rules provided by the `Collator` class, you can sort strings in a locale-independent manner.

### Customizing Collation Rules

> In some cases, the predefined collation rules provided by the `Collator` class may not work for you. For example, you may want to sort strings in a language whose locale is not supported by `Collator`. In this situation, you can define your own collation rules, and assign them to a `RuleBasedCollator` object.

### Improving Collation Performance

> With the `CollationKey` class, you may increase the efficiency of string comparisons. This class converts `String` objects to sort keys that follow the rules of a given `Collator`.

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