Προγραμματισμός

* Γνώση Υπολογιστών >> Προγραμματισμός >> Προγραμματισμός Java

Χρήση της συνένωσης σε Java

Προγραμματιστές βρείτε συνήθως στα strings και σύγκριση μια από τις λιγότερο αποδοτικές επιχειρήσεις να πραγματοποιηθεί σε ένα πρόγραμμα . Συγκρίσεις String ιδίως μπορεί να γίνει ενοχλητικό για τις μεγάλες χορδές , ή εργάζονται με κορδόνια από διαφορετικές γλώσσες . Ωστόσο , οι προγραμματιστές που χρησιμοποιούν την κλάση " συνένωσης " μπορεί να συγκριθεί χορδές σε μια ποικιλία γλωσσών . Η τάξη συνένωσης προσφέρει εργαλεία για να συγκρίνετε χορδές σε μια ποικιλία από τις τοπικές ρυθμίσεις που λαμβάνουν υπόψη τις διαφορές σε αυτές τις συντακτικές μονάδες η κεφαλαιοποίηση και τις εμφάσεις . Συνένωσης και String Συγκρίσεις
Η

Στην πιο βασική , η κατηγορία συνένωσης συγκρίνει δύο συμβολοσειρές και επιστρέφει το αποτέλεσμα αυτής της σύγκρισης . Παρόμοια με τις βασικές συγκρίσεις string χρησιμοποιώντας συναρτήσεις σύγκρισης περιλαμβάνονται στην κατηγορία εγχόρδων , ειδικά τη λειτουργία " compareTo " , συγκρίσεις συνένωσης χρησιμοποιούν ένα προεπιλεγμένο ορισμό της αξίας των γραμμάτων στο string για να κάνουν συγκρίσεις , επιστρέφοντας ένα ακέραιο αποτέλεσμα με βάση τη σύγκριση . Έτσι , για παράδειγμα , ο παρακάτω κώδικας συνένωσης επιστρέφει ένα αριθμητικό αποτέλεσμα :

ορυχείο συνένωσης = Collator.getInstance ( ) ? Αν ( mine.compare ( " AAA " , " ααα " ) > 0 ) { System.out.println ( "AAA είναι μεγαλύτερη από ό, τι aaa " ) ? }
εικόνων Locale Ειδικότητα
Η

Η τάξη συνένωσης , σε αντίθεση με τις άλλες κατηγορίες σύγκρισης , επιτρέπει στους προγραμματιστές να κάνουν συγκρίσεις με βάση τη γλώσσα και την τοποθεσία . Γλώσσες που χρησιμοποιούν χαρακτήρες προφορά ή διαλυτικά δίνουν διαφορετικές τιμές με βάση τη χρήση αυτών των χαρακτήρων , και αποδίδουν διαφορετική σημασία συντακτικά αντικείμενα, όπως κεφαλαιοποίησης . Επιπλέον , η αξία από αυτές τις διαφορές ανάλογα , έτσι ώστε ορισμένες διαφορές έχουν μεγαλύτερη σημασία σε μια λέξη από τους άλλους. Το ακόλουθο παράδειγμα απεικονίζει ένα αντικείμενο συνένωσης χρησιμοποιώντας την τοποθεσία ΗΠΑ για να συγκρίνουν δύο χορδές . Αυτό εξαλείφει τη διαφορά μεταξύ των κεφαλαιοποιημένων και μη κεφαλαιοποιημένες εκδόσεις των χαρακτήρων :

συνένωσης localC = " ααα " ) == 0 ) { System.out.println ( "Strings είναι ισοδύναμα ")? }
εικόνων Συγκριση δύναμη
Η

Ο " ? δύναμη » που δίδεται σε κάθε σύγκριση εξαρτάται από την τοπική ρύθμιση της γλώσσας . Υπάρχουν τέσσερις κατηγορίες της δύναμης που χρησιμοποιείται από την κλάση συνένωσης για να καθορίσει πώς να συγκρίνετε χορδές : Πρωτοβάθμια , Δευτεροβάθμια , Τριτοβάθμια και ταυτόσημη . Έτσι, στην περίπτωση της τοπικής γλώσσας των ΗΠΑ , οι χαρακτήρες "a" και "b" μοιράζονται μια βασική διαφορά , κατά το ότι είναι διαφορετικά χαρακτήρων. Ωστόσο , οι χαρακτήρες "Α" και "a" θεωρούνται ταυτόσημα , γιατί η τοπική ρύθμιση δεν διακρίνει μεταξύ τους μόνο και μόνο επειδή της κεφαλαιοποίησης . Μια άλλη γλώσσα που χρησιμοποιεί τόνους θα έχουν επίσης οι διαφορές μεταξύ του ίδιου χαρακτήρα ανάλογα με το αν φέρει προφορά ή όχι .
Εικόνων σελιδοποίηση Keys
Η

Η καλύτερη μέθοδος για να χρησιμοποιήσει κατά την ταξινόμηση κατάλογοι των strings με σελιδοσυνθέτες χρησιμοποιεί το αντικείμενο CollationKey . Αυτό το αντικείμενο κατέχει μια σειρά μετατραπούν σε μορφή bit . Το αντικείμενο CollationKey μπορεί στη συνέχεια συγκρίνει δύο συμβολοσειρές από bits και να επιστρέψει ένα αποτέλεσμα . Στη συνέχεια , ο προγραμματιστής μπορεί να ανακτήσει την αρχική σειρά , προκειμένου να εμφανιστούν τα αποτελέσματα . CollationKeys προσφέρουν μια πιο αποτελεσματικός τρόπος για να συγκρίνουν χορδές , όπως η ακόλουθη επίδειξη απεικονίζει :

συνένωσης μου = Collator.geInstance ( ) ? CollationKey ένα = νέα CollationKey ( my.getCollationKey ( " One" ) ) ? CollationKey δύο = νέα CollationKey ( my.getCollationKey ( " Two" ) ) ?

αν ( one.compareTo ( δύο ) > 0 ) { System.out.println ( one.getSourceString ( ) + " είναι μεγαλύτερη από δύο " ) ? }
Η
εικόνων

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα