Διαφορά κλειδιού - String vs StringBuffer vs StringBuilder στην Java

Οι String, StringBuffer και String Builder είναι κλάσεις Java. Το string χρησιμοποιείται ευρέως στον προγραμματισμό Java. Μόλις δημιουργηθεί ένα αντικείμενο του String, δεν είναι δυνατή η αλλαγή τους. Κάθε φορά που συμβαίνει μια αλλαγή στον String, δημιουργεί μια νέα String. Ακόμη και αν είναι μια αλληλουχία σε μια υπάρχουσα String δημιουργεί μια νέα String. Αυτό προκαλεί σπατάλη της μνήμης. Οι κλάσεις StringBuffer και StringBuilder στη Java χρησιμοποιούνται για την τροποποίηση του String. Η διαφορά κλειδιού μεταξύ String, StringBuffer και StringBuilder στην Java είναι ότι το String είναι μια κλάση που δημιουργεί ένα αντικείμενο τύπου String που είναι μια ακολουθία χαρακτήρων, το StringBuffer είναι μια κλάση που χρησιμοποιείται για την τροποποίηση των Strings που παρέχει ασφάλεια κλωστών και το StringBuilder είναι ένα class που χρησιμοποιείται για την τροποποίηση των χορδών που δεν παρέχουν ασφάλεια νήματος.

ΠΕΡΙΕΧΟΜΕΝΑ

1. Επισκόπηση και διαφορά κλειδιού 2. Τι είναι η συμβολοσειρά στην Java 3. Τι είναι το StringBuffer στην Java 4. Τι είναι το StringBuilder στην Java 5. Οι ομοιότητες μεταξύ StringBuffer String και StringBuilder στην Java 6. Σύγκριση μεταξύ των String vs StringBuffer vs StringBuilder στο Java σε μορφή πίνακα 7. Περίληψη

Τι είναι το String στην Java;

Η κλάση συμβολοσειρών βρίσκεται στο πακέτο java.lang. Κάθε φορά που ο προγραμματιστής δημιουργεί ένα String, είναι ένα αντικείμενο τύπου String. Οι χορδές είναι αμετάβλητες όταν το αντικείμενο δημιουργείται, δεν μπορεί να αλλάξει. Τα αντικείμενα που δημιουργήθηκαν με χρήση κατηγοριών περιτύλιξης, όπως Integer, Byte, Float, Double, είναι επίσης αμετάβλητα. Μια κυριολεκτική συμβολοσειρά περικλείεται σε διπλά εισαγωγικά. π.χ. "Hello World". Κάθε φορά που δημιουργείται μια κυριολεκτική συμβολοσειρά, η Εικονική μηχανή Java (JVM) ελέγχει τη συνεχή ομάδα συμβολοσειρών. Εάν υπάρχει η συμβολοσειρά, επιστρέφεται αναφορά στην ομάδα συνεχών συμβολοσειρών. Εάν πρόκειται για ένα νέο String, το αντικείμενο αυτό δημιουργείται στην ομάδα συνεχών συμβολοσειρών.

Ανατρέξτε στο παρακάτω κομμάτι κώδικα.

Σειρά s1 = "Γεια σας";

s1 = s1 + "Παγκόσμιο";

System.out.println (s1);

Στην πρώτη δήλωση, s1 αναφέρεται στο "Hello" στη συνεχή σειρά String. Στη δεύτερη δήλωση, η JVM δεν αλλάζει την υπάρχουσα σειρά. Αντ 'αυτού, δημιουργεί ένα νέο String ως "Hello World" και το s1 αναφέρεται τώρα σε αυτό το νέο String. Το εξερχόμενο αντικείμενο "Hello" εξακολουθεί να υπάρχει στο pool constant string.

Εάν υπάρχει ένας κωδικός ο οποίος είναι,

Σειρά s1 = "Γεια σας";

Σειρά s2 = s1;

s1, s2 και οι δύο θα αναφέρονται στο αντικείμενο String "Hello".

Τι είναι το StringBuffer στην Java;

Η κλάση StringBuffer χρησιμοποιείται για την μετατροπή αντικειμένων String. Επομένως, αυτά τα αντικείμενα μπορούν να τροποποιηθούν. Το StringBuffer ορίζει τέσσερις κατασκευαστές. StringBuffer (), StringBuffer (μέγεθος int), StringBuffer (String str), StringBuffer (charSequence [] ch)

Ανατρέξτε στον παρακάτω κώδικα,

StringBuffer s1 = νέο StringBuffer ("Hello");

s1.append ("Παγκόσμιο");

System.out.println (s1);

Στη δήλωση 1, s1 αναφέρεται σε ένα αντικείμενο "Hello" σε ένα σωρό. Το αντικείμενο είναι μεταβλητό επειδή δημιουργείται χρησιμοποιώντας το StringBuffer. Στη δήλωση 2, το "World" επισυνάπτεται στο ίδιο αντικείμενο "Hello" String.

Τα αντικείμενα στοιχειοσειρών που δημιουργήθηκαν με την κλάση StringBuffer μπορούν να εξοικονομήσουν μνήμη. Το StringBuffer παρέχει ασφάλεια νήματος επειδή τα δύο νήματα δεν μπορούν ταυτόχρονα να έχουν πρόσβαση στην ίδια μέθοδο στην κλάση StringBuffer. Η ασφάλεια του νήματος μειώνει την απόδοση του StringBuffer. Η κλάση StringBuffer περιέχει μεθόδους όπως append (), insert (), αντίστροφη (), αντικατάσταση ().

Τι είναι το StringBuilder στη Java;

Η κλάση StringBuilder χρησιμοποιείται για την μετατροπή αντικειμένων String. Επομένως, αυτά τα αντικείμενα μπορούν να τροποποιηθούν. Η λειτουργικότητα είναι παρόμοια με το StringBuffer, αλλά αυτό δεν παρέχει ασφάλεια για τα νήματα. Το StringBuilder έχει κατασκευαστές όπως StringBuilder (), StringBuilder (μέγεθος int), StringBuilder (String str).

Ανατρέξτε στον παρακάτω κώδικα.

StringBuilder s1 = νέο StringBuilder ("Hello");

s1.append ("Παγκόσμιο");

System.out.println (s1);

Στη δήλωση 1, s1 αναφέρεται σε ένα αντικείμενο "Hello" σε ένα σωρό. Το αντικείμενο είναι μεταβλητό επειδή δημιουργείται χρησιμοποιώντας το StringBuilder. Στη δήλωση 2, το "World" επισυνάπτεται στο ίδιο αντικείμενο "Hello" String. Δεν υπάρχει δημιουργία ενός εντελώς νέου αντικειμένου String.

Τα αντικείμενα συμβολοσειράς που δημιουργούνται με την κλάση StringBuilder μπορούν να εξοικονομήσουν μνήμη. Σε αντίθεση με το StringBuffer, το StringBuilder δεν παρέχει ασφάλεια για τα νήματα, επειδή τα δύο νήματα μπορούν ταυτόχρονα να έχουν πρόσβαση στην ίδια μέθοδο στην κλάση StringBuilder. Η κλάση StringBuilder περιέχει μεθόδους όπως append (), insert (), αντίστροφη (), αντικατάσταση ().

Ποια είναι η ομοιότητα μεταξύ του StringBuffer και του StringBuilder στη Java;


  • Όλα μπορούν να χρησιμοποιηθούν για τη δημιουργία Strings.

Ποια είναι η διαφορά μεταξύ του StringBuffer String και του StringBuilder στη Java;

Περίληψη - String vs StringBuffer vs StringBuilder στην Java

Το String, το StringBuffer και το StringBuilder φαίνεται να είναι το ίδιο, αλλά έχουν διαφορετικές έννοιες. Όλα αυτά είναι κλάσεις Java. Η διαφορά μεταξύ String, StringBuffer και StringBuilder στην Java είναι ότι, String είναι κλάση για να δημιουργήσει ένα αντικείμενο τύπου String, το οποίο είναι ένα σύνολο χαρακτήρων, το StringBuffer είναι μια κλάση που χρησιμοποιείται για την τροποποίηση των Strings και την παροχή ασφάλειας κλωστών, ενώ το StringBuilder είναι class που χρησιμοποιείται για να τροποποιήσει τις χορδές που δεν παρέχουν ασφάλεια νήματος.

Κατεβάστε το String String vs StringBuffer vs StringBuilder στην Java

Μπορείτε να κατεβάσετε την έκδοση PDF αυτού του άρθρου και να το χρησιμοποιήσετε για σκοπούς εκτός σύνδεσης σύμφωνα με τη σημείωση παραπομπής. Κάντε λήψη εδώ για PDF έκδοση Διαφορά μεταξύ StringBuffer και StringBuilder στη Java

Αναφορά:

1. "String vs StringBuffer vs StringBuilder". JournalDev, 30 Ιουλίου 2017. Διατίθεται εδώ 2. "Java Hungry." Διαφορά μεταξύ των κλάσεων StringBuilder και StringBuffer με παράδειγμα: Java | Java πεινασμένος. Διατίθεται εδώ 3.tutorialspoint.com. "Σειρές Java". Το σημείο. Διατίθεται εδώ