Si la audiencia de nuestra aplicación está limitada a personas de habla inglesa, probablemente podamos hacer las comparaciones con el método String.compareTo. Este método realiza una comparación binaria de caracteres Unicode dentro de las cadenas. Para muchos idiomas, esta comparación binaria no es suficiente para ordenar cadenas, porque los valores Unicode no corresponden con el orden relativo de los caracteres.
Afortunadamente, la clase Collator permite realizar comparaciones de cadenas en diferentes idiomas. En esta lección, veremos cómo utilizar la clase Collator para buscar y ordenar texto.
Las reglas de comparación definen la secuencia de ordenación de los strings. Estas reglas pueden variar con la Localidad, porque los distintos idiomas naturales ordenan sus palabras de forma diferente. Utilizando las reglas predefinidas de la clase Collator, podemos ordenar cadenas de una forma independiente de la Localidad.
En algunos casos, las reglas predefinidas de comparación proporcionadas por la clase Collator podrían no ser suficiente. Por ejemplo, podríamos querer ordenar strings en un idioma cuya localidad no estuviera soportada por Collator. En esta situación, podemos definir nuestras propias reglas de comparación, y asignarlas a un objeto RuleBasedCollator.
Con la clase CollationKey, podremos incrementar la eficiencia de la comparación de cadenas. Esta clase convierte objetos String a claves cortas que siguen las reglas de un objeto Collator dado.