Τι είναι το String.intern() στην Java;

Ti Einai To String Intern Sten Java



Στην Java, το ' κρατώ() Η μέθοδος ' χρησιμοποιείται για να διασφαλιστεί ότι εάν μια μεγάλη ποσότητα συμβολοσειράς αποθηκεύει δεδομένα, τότε οι συμβολοσειρές που έχουν το ίδιο στοιχείο μοιράζονται την ίδια μνήμη. Αυτή η μέθοδος είναι πολύ χρήσιμη για τη μείωση του χώρου μνήμης για το πρόγραμμα. Για παράδειγμα, εάν έχετε μια τεράστια λίστα με ονόματα υπαλλήλων όπου το όνομα ' γρύλος 'εμφανίζεται δέκα φορές. Ο ' κρατώ() ' μέθοδος θα εξασφαλίσει ότι η ' γρύλος ” καταλαμβάνει μόνο ένα χώρο στη μνήμη.

Αυτή η ανάρτηση θα συζητήσει τη χρήση της μεθόδου String.intern() στην Java.







Τι είναι το String.intern() στην Java;

Ο ' κρατώ() Η μέθοδος ' στην Java χρησιμοποιείται για την επιστροφή της αναφοράς στο δηλωμένο αντικείμενο συμβολοσειράς. Ωστόσο, εάν το αντικείμενο συμβολοσειράς υπήρχε με το ίδιο περιεχόμενο/δεδομένα στο σύνολο συμβολοσειρών, τότε θα επιστρέψει την αναφορά της προηγούμενης συμβολοσειράς. Επιπλέον, εάν η συμβολοσειρά δεν υπάρχει στο σύνολο συμβολοσειρών, θα προσθέσει τη νέα συμβολοσειρά και την αναφορά της στο σύνολο συμβολοσειρών.



Σύνταξη

Για να χρησιμοποιήσετε την αναφερόμενη μέθοδο, απλώς ακολουθήστε τη σύνταξη που δίνεται παρακάτω:



Σειρά . κρατώ ( )

Σε αυτό το παράδειγμα, θα συζητήσουμε γιατί υπάρχει ανάγκη να χρησιμοποιηθεί το ' κρατώ() ' μέθοδος στην Java όταν η συμβολοσειρά δημιουργείται σε ένα σωρό χρησιμοποιώντας το ' Σειρά() ” κατασκευαστής. Αρχικά, δημιουργείται ένα αντικείμενο συμβολοσειράς χρησιμοποιώντας το ' Σειρά() ” κατασκευαστής. Μετά από αυτό, τα δεδομένα για τη συμβολοσειρά μεταβιβάζονται ως παράμετρος σε αυτό το αντικείμενο και αποθηκεύονται σε μια μεταβλητή:





Σειρά ένα = νέος Σειρά ( 'Καλώς ήρθατε στο Linuxhint.' ) ;

Ένα άλλο αντικείμενο συμβολοσειράς δημιουργείται ακολουθώντας την ίδια διαδικασία:

Σειρά σι = νέος Σειρά ( 'Καλώς ήρθατε στο Linuxhint' ) ;

Επικαλέστε το « μέθοδο println()' και ορίστε 'a=b ως επιχείρημα αυτής της μεθόδου. Θα επιστρέψει το αποτέλεσμα ως ψευδές επειδή κάθε συμβολοσειρά έχει το δικό της χώρο στη μνήμη:



Σύστημα . έξω . println ( ένα == σι ) ;

Μπορεί να παρατηρηθεί ότι η έξοδος του παραπάνω παραδείγματος επιστρέφει false:

Παράδειγμα 1: Μέθοδος String.intern() για έλεγχο αντικειμένων συμβολοσειράς

Σε αυτό το παράδειγμα, δύο αντικείμενα συμβολοσειράς δημιουργούνται χρησιμοποιώντας το ' Σειρά() ” κατασκευαστής και μια συμβολοσειρά μεταβιβάζεται στον κατασκευαστή ως όρισμα. Στη συνέχεια, επικαλέστε το ' κρατώ() ' μέθοδος για κάθε συμβολοσειρά και αποθήκευση της πρώτης συμβολοσειράς στη μεταβλητή ' ένα » και το δεύτερο στο « σι '. Ελέγξτε την κατάσταση ' α=β ' και χρησιμοποιήστε το ' println() ” για να εμφανίσετε το αποτέλεσμα:

Σειρά ένα = νέος Σειρά ( 'Καλώς ήρθατε στο Linuxhint' ) . κρατώ ( ) ;
Σειρά σι = νέος Σειρά ( 'Καλώς ήρθατε στο Linuxhint' ) . κρατώ ( ) ;
Σύστημα . έξω . println ( ένα == σι ) ;

Ως αποτέλεσμα, επιστρέφει το ' αληθής 'τιμή γιατί το ' κρατώ() Η μέθοδος ” διασφαλίζει ότι κάθε συμβολοσειρά καταλαμβάνει χώρο στην ίδια μνήμη για την αποθήκευση δεδομένων συμβολοσειράς:

Παράδειγμα 2: Μέθοδος String.intern() για έλεγχο συμβολοσειράς και αντικειμένου συμβολοσειράς

Σε αυτό το παράδειγμα, δημιουργούνται και αποθηκεύονται διάφορες συμβολοσειρές στις διαφορετικές μεταβλητές. Για το σκοπό αυτό, πρώτα, μια μεταβλητή αρχικοποιείται με μια τιμή συμβολοσειράς ' Linux ”:

Σειρά ένα = 'Linux' ;

Χρησιμοποιήστε το ' κρατώ() ' μέθοδος με πρόσβαση στη συμβολοσειρά ' ένα ' και αποθηκεύστε το στη μεταβλητή ' σι ”:

Σειρά σι = ένα. κρατώ ( ) ;

Ένα νέο αντικείμενο τύπου συμβολοσειράς δημιουργείται με τη βοήθεια του ' Σειρά() 'κατασκευαστής και περνάει το ' Linux ” ως παράμετρος σε αυτόν τον κατασκευαστή. Στη συνέχεια, αποθηκεύστε το στη μεταβλητή ' ντο ”:

Σειρά ντο = νέος Σειρά ( 'Linux' ) ;

Επικαλέστε το « κρατώ() ' μέθοδος με πρόσβαση στη μεταβλητή ' ντο ' και αποθηκεύστε το αποτέλεσμα στο ' ρε ”:

Σειρά ρε = ντο. κρατώ ( ) ;

Τώρα, συγκρίνετε αυτές τις δημιουργημένες συμβολοσειρές μεταξύ τους. Για το σκοπό αυτό, επικαλέστε το « println() ' και περάστε την παράμετρο σύμφωνα με το παρακάτω απόσπασμα κώδικα:

Σύστημα . έξω . println ( ένα == σι ) ;
Σύστημα . έξω . println ( ένα == ντο ) ;
Σύστημα . έξω . println ( ένα == ρε ) ;
Σύστημα . έξω . println ( σι == ντο ) ;
Σύστημα . έξω . println ( σι == ρε ) ; Σύστημα . έξω . println ( ντο == ρε ) ;

Η έξοδος κάθε αντίστοιχης δήλωσης εκτυπώνεται στην κονσόλα. Έχουμε αντιστοιχίσει την έξοδο με κάθε πρόταση:

Όλα αυτά αφορούν τη μέθοδο string.intern() στην Java.

συμπέρασμα

Ο ' String.intern() Η μέθοδος ' στην Java επιστρέφει την αναφορά στο αναφερόμενο αντικείμενο συμβολοσειράς. Ωστόσο, εάν το αντικείμενο συμβολοσειράς υπήρχε με το ίδιο περιεχόμενο/δεδομένα στο σύνολο συμβολοσειρών, τότε θα επιστρέψει την αναφορά της προηγούμενης συμβολοσειράς. Αυτή η ανάρτηση έχει δηλώσει διάφορες περιπτώσεις χρήσης της μεθόδου String.intern() στην Java.