programmeurs trouvent généralement la manipulation de chaînes et de comparaison l'une des opérations les moins efficaces à effectuer dans un programme. Les comparaisons de chaînes en particulier, peuvent devenir gênants pour les grandes chaînes , ou de travailler avec des cordes de différentes langues. Cependant, les programmeurs utilisant la classe " collator " peuvent comparer des chaînes dans une variété de langues. La classe Collator offre des outils pour comparer des chaînes dans une variété de lieux qui prennent en compte les différences de ces unités syntaxiques que la capitalisation et les accents . Assembleuse et String comparaisons À la base , la classe Collator compare deux chaînes et renvoie le résultat de cette comparaison. Comme pour les comparaisons de chaîne de base en utilisant des fonctions de comparaison compris dans la classe de chaînes , en particulier la fonction " compareTo " , les comparaisons de Assembleuse utilisent une définition par défaut de la valeur de lettres dans la chaîne pour faire des comparaisons , renvoyant un résultat entier sur la base de la comparaison. Ainsi, par exemple , le code d'interclassement suivant retourne un résultat numérique : collator mienne = Collator.getInstance (); if ( mine.compare ( "AAA" , "aaa" ) > 0) { System.out.println (" AAA est plus grand que aaa ");} Locale Spécificité La classe Collator , contrairement aux autres catégories de comparaison , permet aux programmeurs d' faire des comparaisons sur la base de la langue et de la localité . Langues qui utilisent des caractères accentués ou des trémas donnent des valeurs différentes en fonction de l'utilisation de ces caractères , et mettent l'accent sur différents objets syntaxiques tels que la capitalisation . En outre, la valeur de ces différences sont classés , de sorte que certaines différences ont plus d'importance dans un mot que d'autres. L'exemple suivant illustre un objet Collator utilisant la localité US pour comparer deux chaînes. Ceci élimine la différence entre les versions capitalisées et non capitalisées de caractères : collator localC = "aaa" ) == 0) {System.out.println (" chaînes sont équivalentes ");} Comparaison Force " ; force »donné à chaque comparaison dépend de la localisation de la langue. Il ya quatre catégories de force utilisés par la classe Collator pour déterminer comment comparer des chaînes : primaire , secondaire, tertiaire et identiques. Donc dans le cas de la localisation de la langue américaine, les caractères "a" et "b" partagent une différence essentielle , en ce qu'elles sont des caractères différents. Cependant, les caractères "A" et "a" sont considérés comme identiques , parce que la localisation ne fait pas de distinction entre eux seulement en raison de la capitalisation. Un autre langage qui utilise des accents aura également des différences entre le même caractère selon qu'il porte un accent ou non. Collation clés La meilleure méthode à utiliser lors du tri des listes de chaînes avec Collators utilise l'objet CollationKey . Cet objet contient une chaîne convertie en forme binaire . L'objet CollationKey peut alors comparer deux chaînes de bits et retourner un résultat . Ensuite , le programmeur peut récupérer la chaîne d'origine pour afficher les résultats . CollationKeys offrent un moyen plus efficace pour comparer des chaînes , comme la démonstration suivante illustre : collator mon Collator.geInstance = (); CollationKey un = new CollationKey ( my.getCollationKey ( "One" ) ) ; CollationKey deux = new CollationKey ( my.getCollationKey ( "Two" ) ) ; if ( one.compareTo (deux) > 0) { System.out.println ( one.getSourceString () + " est supérieur de deux ");}
|