Ero Java-kielissä StringBuffer ja StringBuilder

Avainero - merkkijono vs StringBuffer vs StringBuilder Java-versiossa
 

String, StringBuffer ja String Builder ovat Java-luokkia. Merkkijonoa käytetään laajalti Java-ohjelmoinnissa. Kun merkkijonoobjekti on luotu, niitä ei ole mahdollista muuttaa. Aina kun merkkijonossa tapahtuu muutos, se luo uuden merkkijonon. Vaikka se olisi liitos olemassa olevaan merkkijonoon, se luo uuden merkkijonon. Tämä aiheuttaa muistinhukkaa. StringBuffer- ja StringBuilder-luokkia Javassa käytetään Stringin modifiointiin. avainero String, StringBuffer ja StringBuilder välillä Java on se Merkkijono on luokka, jolla luodaan merkkijonoja sisältävä String-tyyppinen objekti, StringBuffer on luokka, jota käytetään merkkijonojen modifiointiin, mikä tarjoaa langan turvallisuuden, ja StringBuilder on luokka, jota käytetään muuttamaan merkkijonoja, jotka eivät tarjoa langan turvallisuutta.

SISÄLLYS

1. Yleiskatsaus ja keskeiset erot
2. Mikä on Java-kieli?
3. Mikä on StringBuffer Java-järjestelmässä
4. Mikä on StringBuilder Java-järjestelmässä
5. Samankaltaisuuksia StringBuffer ja StringBuilder Java -sovelluksissa
6. Vertailu rinnakkain - String vs StringBuffer vs StringBuilder Java -sovelluksessa taulukkomuodossa
7. Yhteenveto

Mikä on Java-kieli?

Jousiklassi on java.lang-paketissa. Aina kun ohjelmoija luo merkkijonon, se on String-tyyppinen objekti. Merkkijonot ovat muuttumattomia, joten kun objekti on luotu, sitä ei voi muuttaa. Objektit, jotka on luotu käyttämällä kääreluokkia, kuten kokonaisluku, tavu, kellua, tupla, ovat myös muuttumattomia. Merkkijono kirjaimella on suljettu lainausmerkeissä. esim. "Hei maailma". Aina kun merkkijono kirjaimella luodaan, Java-virtuaalikone (JVM) tarkistaa merkkijonovakion. Jos merkkijono on olemassa, palautetaan viittaus merkkijonovakioon. Jos se on uusi merkkijono, kyseinen objekti luodaan merkkijonon vakioaltaan.

Kuva 01: Java-ohjelma, joka käyttää String-, StringBuffer- ja StringBuilder-ohjelmia

Katso alla oleva koodiosa.

Merkkijono s1 = “Hei”;

s1 = s1 + “maailma”;

System.out.println (s1);

Ensimmäisessä lauseessa s1 viittaa “Hei” Stringvakio-altaassa. Toisessa lausunnossa JVM ei muuta olemassa olevaa merkkijonoa. Sen sijaan se luo uuden merkkijonon nimellä "Hello World" ja s1 viittaa nyt uuteen merkkijonoon. Poistuva "Hello" -objekti on edelleen olemassa String-vakio-altaassa.

Jos on koodi, joka on,

Merkkijono s1 = ”Hei”;

Jousto s2 = s1;

s1, s2 molemmat viittaavat merkkijonoobjektiin “Hei”.

Mikä on StringBuffer Java-ohjelmassa?

StringBuffer-luokkaa käytetään merkkijonoobjektien muuttamiseen. Siksi näitä esineitä voidaan muokata. StringBuffer määrittelee neljä rakentajaa. StringBuffer (), StringBuffer (int koko), StringBuffer (String str), StringBuffer (charSequence [] ch)

Katso alla oleva koodi,

StringBuffer s1 = uusi StringBuffer (“Hei”);

s1.append ( ”World”);

System.out.println (s1);

Lauseessa 1 s1 viittaa kasassa olevaan "Hello" -objektiin. Objekti on muutettavissa, koska se on luotu StringBufferilla. Lausunnossa 2 ”Maailma” liitetään samaan ”Hei” -merkkijono-esineeseen.

StringBuffer-luokalla luodut merkkijonoobjektit voivat säästää muistia. StringBuffer tarjoaa langan turvallisuuden, koska kaksi säiettä ei voi käyttää samaa menetelmää StringBuffer-luokassa samanaikaisesti. Kierteiden turvallisuus vähentää StringBuffer-suorituskykyä. StringBuffer-luokka sisältää menetelmiä, kuten liite (), lisäys (), käänteinen (), korvaa ().

Mikä on StringBuilder Java-sovelluksessa?

StringBuilder-luokkaa käytetään merkkijonoobjektien muuttamiseen. Siksi näitä esineitä voidaan muokata. Toiminto on samanlainen kuin StringBuffer, mutta tämä ei takaa langan turvallisuutta. StringBuilderissä on rakenteita, kuten StringBuilder (), StringBuilder (int koko), StringBuilder (String str).

Katso alla oleva koodi.

StringBuilder s1 = uusi StringBuilder (“Hei”);

s1.append ( ”World”);

System.out.println (s1);

Lauseessa 1 s1 viittaa kasassa olevaan "Hello" -objektiin. Objekti on muutettavissa, koska se on luotu StringBuilderillä. Lausunnossa 2 ”Maailma” liitetään samaan ”Hei” -merkkijono-esineeseen. Täysin uutta String-objektia ei luoda.

StringBuilder-luokalla luodut kieliobjektit voivat säästää muistia. Toisin kuin StringBufferissa, StringBuilder ei tarjoa langan turvallisuutta, koska kaksi säiettä voi käyttää samaa menetelmää StringBuilder-luokassa samanaikaisesti. StringBuilder-luokka sisältää menetelmiä, kuten liite (), lisäys (), käänteinen (), korvaa ().

Mikä on Java-kielen StringBuffer ja StringBuilder samankaltaisuus??

  • Kaikkia voidaan käyttää merkkijonojen luomiseen.

Mitä eroa on StringBuffer ja StringBuilder Java -sovelluksissa??

String vs StringBuffer vs StringBuilder

jono Merkkijono on Java-luokka, jota käytetään String-tyyppisen objektin luomiseen, joka on merkkijono.
StringBuffer StringBuffer on Java-luokka, jota käytetään luomaan String-objekteja, joita voidaan muokata langan turvallisudella.
StringBuilder StringBuilder on luokka, jota käytetään merkkijonoobjektien luomiseen, joita voidaan muokata ilman säieiden turvallisuutta.
mutability
jono Merkkijono on muuttumaton luokka.
StringBuffer StringBuffer on muuttuva luokka.
StringBuilder StringBuilder on muuttuva luokka.
Kierteiden turvallisuus
jono Merkkijonomenetelmät ovat säiettä turvallisia.
StringBuffer StringBuffer-menetelmät ovat säiettä turvallisia ja synkronoituja.
StringBuilder StringBuilderin menetelmiä ei ole kierteitetty turvallisesti eikä niitä synkronoida.
Esitys
jono Merkkijono on nopea.
StringBuffer StringBuffer on hidas.
StringBuilder StringBuilder on nopea.

Yhteenveto - merkkijono vs StringBuffer vs StringBuilder Java-versiossa 

String, StringBuffer ja StringBuilder näyttävät olevan samat, mutta niillä on eri merkitykset. Kaikki nämä ovat Java-luokkia. Ero Java-kielissä StringBuffer ja StringBuilder ovat siinä, että String on luokka, jolla luodaan String-tyyppinen objekti, joka on merkistö. StringBuffer on luokka, jota käytetään Strings-modifiointiin ja säikeiden turvallisuuden takaamiseen, kun taas StringBuilder on luokka, jota käytetään muuttamaan merkkijonoja, jotka eivät tarjoa langan turvallisuutta.

Lataa PDF-tiedosto String vs StringBuffer vs StringBuilder Java-versiosta

Voit ladata tämän artikkelin PDF-version ja käyttää sitä offline-tarkoituksiin lainaushuomautuksen mukaisesti. Lataa PDF-versio tästä Ero Java-kielissä StringBuffer ja StringBuilder

Viite:

1. “String vs StringBuffer vs StringBuilder.” JournalDev, 30. heinäkuuta 2017. Saatavilla täältä
2. ”Java Hungry”. Ero merkkijono-, StringBuilder- ja StringBuffer-luokkien välillä esimerkiksi: Java | Java nälkäinen. Saatavilla täältä 
3.tutorialspoint.com. ”Java-kielet”. Kohta. Saatavilla täältä