Comparar Strings

Las aplicaciones que buscan u ordenan texto realizan frecuentes comparaciones. Por ejemplo, un navegador necesita comparar la igualdad de dos cadenas cuando los usuarios finales buscan algún texto. Un escritor de informes realiza comparaciones de cadenas cuando ordena un lista de cadenas en orden alfabético.

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.

Realizar Comparaciones Independientes de la Localidad

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.

Personalizar la Reglas de Comparación

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.

Aumentar el Rendimiento de la Comparación

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.

Ozito