java string compareto method with programming examples
Σε αυτό το σεμινάριο, θα μάθουμε για τη μέθοδο Java String membandingkanTo () και θα δούμε πώς και πότε να χρησιμοποιήσουμε το membandingkanTo σε Java μαζί με τη σύνταξη και τα παραδείγματα
Θα καταλάβετε πώς μπορείτε να χειριστείτε το Java String με τη βοήθεια της μεθόδου Java. Οι τύποι εξόδου που θα πάρουμε μέσω της μεθόδου Java membandingkanTo () θα καλυφθούν επίσης σε αυτό το σεμινάριο.
Αφού διαβάσετε αυτό το σεμινάριο, σίγουρα θα είστε σε θέση να κατανοήσετε και να γράψετε τα προγράμματα Java String που απαιτούν τη μέθοδο .compareTo () για χειρισμό συμβολοσειρών.
=> Ανατρέξτε στον τέλειο οδηγό εκπαίδευσης Java εδώ.
Τι θα μάθετε:
Java String membandingkanTo () Μέθοδος
Η μέθοδος Java String membandingkanTo () χρησιμοποιείται για να ελέγξει εάν δύο συμβολοσειρές είναι πανομοιότυπες ή όχι. Όπως υποδηλώνει το όνομα, συγκρίνει δύο δεδομένες συμβολοσειρές και ανακαλύπτει εάν είναι ίδιες ή ποιο είναι μεγαλύτερη.
Ο τύπος επιστροφής της μεθόδου Java membandingkanTo () είναι ακέραιος και η σύνταξη δίνεται ως:
int compareTo(String str)
Στην παραπάνω σύνταξη, το str είναι μια μεταβλητή String που συγκρίνεται με το String που καλεί.
Για παράδειγμα: String1.compareTo (String2);
Μια άλλη παραλλαγή του Java membandingkanTo () είναι
int compareTo(Object obj)
Στην παραπάνω σύνταξη, θα συγκρίνουμε μια συμβολοσειρά με ένα αντικείμενο obj.
Για παράδειγμα ,String1.compareTo ('Αυτό είναι ένα αντικείμενο συμβολοσειράς');
Εδώ 'Αυτό είναι ένα αντικείμενο συμβολοσειράς' είναι ένα επιχείρημα ότι περνάμε στο membandingkanTo () και το συγκρίνει με το String1.
Java membandingkanTo () Τύποι εξόδου μεθόδου
Η έξοδος έχει τρεις τύπους που βασίζονται στην τιμή εξόδου.
Ακολουθεί ο πίνακας που εξηγεί και τους τρεις τύπους τιμών εξόδου.
membandingkanTo () Τιμή εξόδου | Περιγραφή |
---|---|
Μηδέν | Δύο χορδές είναι ίσες. |
Μεγαλύτερο από το μηδέν | Η επίκληση String είναι μεγαλύτερη από str. |
Λιγότερο από το μηδέν | Η επίκληση String είναι μικρότερη από str. |
Ας κατανοήσουμε λεπτομερώς αυτές τις τρεις παραλλαγές με τη βοήθεια ενός παραδείγματος.
Ένα παράδειγμα προγραμματισμού
Ακολουθεί ένα παράδειγμα της μεθόδου σύγκρισης Java (). Η σύγκριση βασίζεται στη διαφορά στην τιμή ASCII των χαρακτήρων. Σε γενικές γραμμές, μια συμβολοσειρά είναι μικρότερη από την άλλη αν έρχεται πριν από την άλλη στο λεξικό.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Grand Theft Auto'; String str2 = 'Assassin Creed'; String str3 = 'Call of Duty'; String str4 = 'Need for Speed'; String str5 = 'Grand Theft Auto'; System.out.println(str1.compareTo(str2)); // Since 'A' is greater than 'G' by 6 characters, so it will return 6 System.out.println(str2.compareTo(str3)); // Since 'C' is smaller than 'A' by 2 characters, so it will return -2 System.out.println(str3.compareTo(str4)); //Since 'N' is smaller than 'C' by 11 characters, so it will return -11 System.out.println(str4.compareTo(str1)); //Since 'G' is Greater than 'N' by 7 characters, so it will return 7 System.out.println(str1.compareTo(str5)); //Strings are equal } }
Παραγωγή:
Επεξήγηση του παραδείγματος
Στο παραπάνω παράδειγμα, έχουμε λάβει πέντε συμβολοσειρές εισόδου και πραγματοποιήσαμε μια βασική σύγκριση μεταξύ τους χρησιμοποιώντας τη μέθοδο Java. CompareTo (). Στην πρώτη σύγκριση, έχουμε το 'A' μεγαλύτερο από το 'G' με 6 χαρακτήρες στη σειρά αλφαβήτου, οπότε επιστρέφει +6. Στη δεύτερη σύγκριση, έχουμε το 'C' μικρότερο από το 'A' με 2 χαρακτήρες, οπότε επιστρέφει -2.
Στην τελευταία σύγκριση (μεταξύ str1 και str5), καθώς και οι δύο συμβολοσειρές είναι ίσες, επιστρέφει 0.
Διάφορα σενάρια
Ας κατανοήσουμε λεπτομερώς τη μέθοδο .compareTo (). Εδώ θα προσπαθήσουμε να αναλύσουμε διαφορετικά σενάρια και το αποτέλεσμα κάθε περίπτωσης.
Σενάριο 1: Εξετάστε τις ακόλουθες δύο χορδές. Θα τα συγκρίνουμε και θα δούμε το αποτέλεσμα.
String str1 = 'Δοκιμή λογισμικού';
String str2 = 'Βοήθεια δοκιμών λογισμικού';
Ποια θα είναι η έξοδος του str1.compareTo (str2);
Απάντηση: Καθώς το str2 περιέχει 5 χαρακτήρες (ένα κενό + τέσσερις χαρακτήρες) περισσότερο από το πρώτο String. Η έξοδος πρέπει να είναι -5. Ομοίως, όταν συγκρίνουμε το str2 με το str1, η έξοδος πρέπει να είναι +5.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'Software Testing'; String str2 = 'Software Testing Help'; System.out.println(str1.compareTo(str2)); // Since str2 contains 5 characters more than the str1, output should be -5 System.out.println(str2.compareTo(str1)); // Since str2 contains 5 characters less than the str1, output should be +5 } }
Παραγωγή:
Σενάριο 2: Εξετάστε τις ακόλουθες δύο χορδές. Θα τα συγκρίνουμε και θα δούμε το αποτέλεσμα.
Συμβολοσειρά str1 = '';
Συμβολοσειρά str2 = '';
είναι το κλειδί ασφαλείας δικτύου ίδιο με τον κωδικό πρόσβασης
Ποια θα είναι η έξοδος του str1.compareTo (str2);
Απάντηση: Καθώς το str2 περιέχει έναν χαρακτήρα (κενό) περισσότερο από το str1, θα πρέπει να δίνει την έξοδο ως -1.
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = ''; String str2 = ' '; System.out.println(str1.compareTo(str2)); //Since str2 contains one character more than str1, it will give -1 System.out.println(str2.compareTo(str1)); //Since str1 contains one character less than str1, it will give 1 } }
Παραγωγή:
Σενάριο 3: Εξετάστε τις ακόλουθες δύο χορδές. Θα τα συγκρίνουμε και θα δούμε το αποτέλεσμα.
String str1 = 'SAKET';
String str2 = 'saket';
Ποια θα είναι η έξοδος του str1.compareTo (str2);
Απάντηση: Εδώ οι συμβολοσειρές είναι ίσες αλλά το str1 έχει κεφαλαία ενώ το str2 έχει πεζά. Αυτός ήταν ο περιορισμός της μεθόδου Java membandingkanTo (). Η έξοδος που θα πάρουμε θα είναι μη μηδενική. Για να ξεπεραστεί αυτό το πρόβλημα, η Java εισήγαγε μια άλλη παραλλαγή της μεθόδου .compareTo () που είναι
.compareToIgnoreCase ()
package codes; import java.lang.String; public class CompareTo { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); //The ASCII representation of the lowercase and uppercase has a difference of 32 } }
Παραγωγή:
Μέθοδος Java String membandingkanToIgnoreCase ()
Καθώς έχουμε συζητήσει το πρόβλημα στην αναντιστοιχία περίπτωσης (Σενάριο 3), έχουμε ήδη μια άλλη παραλλαγή της μεθόδου .compareTo () η οποία θα αγνοήσει την αναντιστοιχία περίπτωσης των συμβολοσειρών.
Η σύνταξη αυτής της μεθόδου δίνεται ως
int compareToIgnoreCase(String str)
Όλα τα υπόλοιπα παραμένουν τα ίδια εκτός από το γεγονός ότι το .compareToIgnoreCase () δεν λαμβάνει υπόψη την αναντιστοιχία της υπόθεσης.
Ένα παράδειγμα προγραμματισμού
Ακολουθεί ένα παράδειγμα της μεθόδου σύγκρισης Java (). Σε αυτό το παράδειγμα, έχουμε απεικονίσει τη διαφορά στις εξόδους του Java membandingkanTo () και membandingkanToIgnoreCase (). Η Java membandingkanTo () θα δώσει διαφορά -32 ενώ η σύγκρισηToIgnoreCase () θα δώσει διαφορά 0.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'SAKET'; String str2 = 'saket'; System.out.println(str1.compareTo(str2)); System.out.println(str1.compareToIgnoreCase(str2)); } }
Παραγωγή:
Επεξήγηση του παραδείγματος:
Στο παραπάνω παράδειγμα, έχουμε λάβει δύο συμβολοσειρές που έχουν την ίδια τιμή διατηρώντας μια συμβολοσειρά σε κεφαλαία και μια άλλη σε πεζά. Τώρα, μια μέθοδος Java .compareTo () θα παρέχει αποτελέσματα με βάση τη διαφορά ASCII στην τιμή των πεζών και κεφαλαίων καθώς θα λάβει υπόψη την περίπτωση χαρακτήρων.
Αλλά το Java .compareToIgnoreCase () δεν θα λάβει υπόψη την υπόθεση χαρακτήρων και θα δώσει ένα αποτέλεσμα ως 0 που σημαίνει ότι και οι δύο χορδές είναι ίσες.
Συχνές Ερωτήσεις
Q # 1) Ποια είναι η διαφορά μεταξύ ==, ισούται με και .compareTo ();
Απάντηση: Παρατίθενται παρακάτω οι κύριες διαφορές μεταξύ ==, ισούται με () και membandingkanTo ().
!ΛΑΘΟΣ! απροσδόκητος χειριστής '=' | ισούται με () | σύγκρισηΤο () |
---|---|---|
!ΛΑΘΟΣ! απροσδόκητος χειριστής '=' | ίσο () είναι μια μέθοδος. | Το σύγκρισηTo () είναι μια μέθοδος. |
!ΛΑΘΟΣ! απροσδόκητος χειριστής '=' | ισούται με () μέθοδος κάνει τη σύγκριση περιεχομένου. | Το σύγκρισηTo () κάνει τη σύγκριση με βάση την τιμή ASCII. |
Ο τύπος επιστροφής είναι Boolean. | Ο τύπος επιστροφής είναι Boolean. | Ο τύπος επιστροφής είναι ακέραιος. |
Χρησιμοποιεί την αναφορά της μεταβλητής String, οπότε οι διευθύνσεις μνήμης πρέπει να είναι ίδιες κατά τη σύγκριση. | Δεν απαιτεί λογική ταξινόμηση των αντικειμένων. | Απαιτεί τη λογική σειρά των αντικειμένων. |
Εδώ είναι ένα παράδειγμα προγραμματισμού που απεικονίζει τη διαφορά.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = new String('Testing'); String str2 = 'Testing'; System.out.println(str1.compareTo(str2)); System.out.println(str1 ==str2); System.out.println(str1.equals(str2)); } }
Παραγωγή:
Ε # 2) Είναι η μέθοδος Java membandingkanTo () με κεφαλαία;
Απάντηση: Ναί. Η μέθοδος Java .compareTo () λαμβάνει υπόψη τους χαρακτήρες και είναι πεζά.
Παρακάτω είναι η εικόνα.
package codes; public class CompareToIgnoreCase { public static void main(String() args) { String str1 = 'Software'; String str2 = 'SOFTWARE'; System.out.println(str1.compareTo(str2)); } }
Παραγωγή:
πώς να γράψετε τον επιλογέα css στο σελήνιο
Q # 3) Πώς λειτουργεί το membandingkanTo () στην Java;
Απάντηση: Η μέθοδος Java membandingkanTo () συγκρίνει πραγματικά τις τιμές ASCII των χαρακτήρων μιας συμβολοσειράς.
Ας πούμε ότι πρόκειται να συγκρίνουμε ένα κόμμα και ένα χαρακτήρα διαστήματος χρησιμοποιώντας τη μέθοδο .compareTo (). Όπως γνωρίζουμε, ένας χαρακτήρας διαστήματος έχει τιμή ASCII 32 ενώ ένα κόμμα έχει τιμή ASCII 44. Η διαφορά μεταξύ της τιμής ASCII του διαστήματος και του κόμμα είναι 12.
Ακολουθεί το παράδειγμα προγραμματισμού.
package codes; public class CompareTo { public static void main(String() args) { String str1 = ','; String str2 = ' '; System.out.println(str1.compareTo(str2)); } }
Παραγωγή:
Q # 4) Πώς να βρείτε το μήκος μιας συμβολοσειράς χρησιμοποιώντας τη μέθοδο Java .compareTo ();
Απάντηση: Δίνεται παρακάτω το πρόγραμμα για να βρείτε το μήκος μιας συμβολοσειράς χρησιμοποιώντας τη μέθοδο Java .compareTo ().
Σε αυτό το παράδειγμα, έχουμε πάρει ένα String του οποίου το μήκος πρέπει να βρούμε και ένα κενό String. Στη συνέχεια, συγκρίναμε το String με το κενό String. Η διαφορά μεταξύ τους θα είναι το μήκος της χορδής.
package codes; public class CompareTo { public static void main(String() args) { String str1 = 'Tony Stark'; String str2 = ''; System.out.println(str1.compareTo(str2)); } }
Παραγωγή:
Ε # 5) Τι επιστρέφει η μέθοδος σύγκρισης;
Απάντηση: Ο τύπος επιστροφής της μεθόδου Java membandingkanTo () είναι ακέραιος. Η ακέραια τιμή μπορεί να είναι μηδέν, θετικός ακέραιος ή αρνητικός ακέραιος.
συμπέρασμα
Σε αυτό το σεμινάριο, έχουμε κατανοήσει λεπτομερώς τη μέθοδο Java String membandingkanTo (). Η βασική λειτουργικότητα, λεπτομέρειες σχετικά με την εφαρμογή και τη χρήση, ιδίως τα παραδείγματα προγραμματισμού, παρέχονται για καλύτερη κατανόηση της έννοιας που σχετίζεται με τη μέθοδο String membandingkanTo ().
Διαβάστε επίσης = >> Java συγκρίσιμες και συγκριτικές διεπαφές
Χρησιμοποιώντας αυτήν τη μέθοδο, μπορείτε να συγκρίνετε δύο χορδές και πολλές άλλες χρήσεις ή περιοχές εφαρμογών, όπως η εύρεση του μήκους της χορδής είναι επίσης δυνατή με τη βοήθεια της μεθόδου σύγκρισης () που έχει καλυφθεί στις συνήθεις ερωτήσεις.
=> Επισκεφτείτε εδώ για την αποκλειστική σειρά εκπαιδευτικών εκμάθησης Java.
Συνιστώμενη ανάγνωση
- Εκμάθηση συμβολοσειράς Java | Μέθοδοι συμβολοσειράς Java με παραδείγματα
- Μέθοδος Java String Split () - Πώς να διαχωρίσετε μια συμβολοσειρά σε Java
- Java String με String Buffer και String Builder Tutorial
- Λειτουργίες συμβολοσειράς Python
- Java String Array - Εκμάθηση με παραδείγματα κώδικα
- Διασύνδεση ListIterator σε Java με παραδείγματα
- Java Interface και Abstract Class Tutorial με παραδείγματα
- OOP Java: Εισαγωγή στον αντικειμενοστρεφή προγραμματισμό στην Java