Home Hardware Networking Programmazione Software Domanda Sistemi
Conoscenza Informatica >> Programmazione >> Java Programming >> .

Uso di Collator in Java

Programmatori tipicamente trovano la manipolazione di stringhe e confronto una delle operazioni meno efficienti di esibirsi in un programma. Confronti di stringhe , in particolare, può diventare fastidioso per stringhe di grandi dimensioni , o lavorare con le stringhe di diverse lingue. Tuttavia, i programmatori che utilizzano la classe " fascicolatore " possono confrontare le stringhe in una varietà di lingue . La classe Collator offre strumenti per confrontare le stringhe in una varietà di localizzazioni che tengano conto delle differenze di tali unità sintattiche come capitalizzazione e di accenti . Collator e String Confronti

Nella sua forma più semplice, la classe Collator confronta due stringhe e restituisce il risultato di questo confronto . Simile a confronti tra stringhe di base utilizzando funzioni di confronto ricomprese nella classe di stringa , in particolare la funzione " compareTo " , i confronti Collator utilizzano una definizione di default del valore delle lettere nella stringa di fare confronti , restituendo un risultato intero basato sul confronto . Così , per esempio, il seguente codice fascicolatore restituisce un risultato numerico :

Collator miniera = Collator.getInstance (); if ( mine.compare ( " AAA " , " aaa " ) > 0 ) { System.out.println ( "AAA è maggiore di aaa ");}
Locale Specificità

La classe Collator , a differenza delle altre classi di confronto , consente ai programmatori di fare confronti in base alla lingua e località. Lingue che usano caratteri di accento o dieresi danno valori diversi in base all'utilizzo di questi personaggi , e posto diverso accento su manufatti sintattiche come capitalizzazione . Inoltre, il valore di queste differenze sono classificate , in modo che alcune differenze hanno più significato in una parola di altri. L'esempio seguente mostra un oggetto Collator utilizzando la località degli Stati Uniti per confrontare due stringhe . Questo elimina la differenza tra le versioni in maiuscolo e non capitalizzate di personaggi :
Collator

localC = " aaa " ) == 0 ) { System.out.println (" Le stringhe sono equivalenti ");}
Confronto Forza

" , forza " dato ad ogni confronto dipende dalle impostazioni locali della lingua . Ci sono quattro categorie di forza utilizzate dalla classe fascicolatore per stabilire come confrontare le stringhe : primaria , secondaria, terziaria e identici . Quindi, nel caso della lingua locale statunitense , i caratteri " a" e " b " condividono una differenza primaria , in quanto sono caratteri diversi . Tuttavia, i caratteri "A" e "a" sono considerati identici , perché il locale non distingue tra di loro proprio a causa della capitalizzazione . Un'altra lingua che usa accenti avrà anche le differenze tra lo stesso personaggio a seconda che porta un accento o non .
Fascicolazione Keys

Il metodo migliore da utilizzare durante l'ordinamento liste di stringhe con Fascicolatrice utilizza l'oggetto CollationKey . Questo oggetto contiene una stringa convertita in forma bit. L'oggetto CollationKey può quindi confrontare due stringhe di bit e di restituire un risultato . Quindi , il programmatore può recuperare la stringa originale per visualizzare i risultati . CollationKeys offrono un modo più efficiente per confrontare le stringhe , come la seguente dimostrazione illustra :

Collator mia = Collator.geInstance (); CollationKey uno = new CollationKey ( my.getCollationKey ( " One ")); CollationKey due = new CollationKey ( my.getCollationKey ( " due") ) ;

se ( one.compareTo ( due) > 0 ) { System.out.println ( one.getSourceString ( ) + " è maggiore di due ");}

 

Programmazione © www.354353.com