Forskjellen Mellom String StringBuffer Og StringBuilder I Java

Innholdsfortegnelse:

Forskjellen Mellom String StringBuffer Og StringBuilder I Java
Forskjellen Mellom String StringBuffer Og StringBuilder I Java

Video: Forskjellen Mellom String StringBuffer Og StringBuilder I Java

Video: Forskjellen Mellom String StringBuffer Og StringBuilder I Java
Video: Sikrere sedler 2024, November
Anonim

Hovedforskjell - String vs StringBuffer vs StringBuilder i Java

String, StringBuffer og String Builder er klasser i Java. Streng er mye brukt i Java-programmering. Når et objekt av String er opprettet, er det ikke mulig å endre dem. Hver gang en endring skjer i strengen, oppretter den en ny streng. Selv om det er en sammenkobling til en eksisterende streng, oppretter den en ny streng. Dette forårsaker minnesvinn. StringBuffer- og StringBuilder-klasser i Java brukes til å endre String. Hovedforskjellen mellom String, StringBuffer og StringBuilder i Java er at String er en klasse for å lage et objekt av typen String som er en sekvens av tegn, StringBuffer er en klasse som brukes til å endre strenger som gir trådsikkerhet, og StringBuilder er en klasse som brukes til å endre strenger som ikke gir trådsikkerhet.

INNHOLD

1. Oversikt og nøkkelforskjell

2. Hva er streng i Java

3. Hva er StringBuffer i Java

4. Hva er StringBuilder i Java

5. Likheter mellom String StringBuffer og StringBuilder i Java

6. Sammenligning side om side - String vs StringBuffer vs StringBuilder i Java i tabellform

7. Oppsummering

Hva er streng i Java?

Strengklasse er i java.lang-pakke. Hver gang programmereren oppretter en streng, er den et objekt av typen streng. Strenger er uforanderlig mening når objektet er opprettet, kan det ikke endres. Objekter opprettet ved hjelp av wrapper-klasser som Integer, Byte, Float, Double er også uforanderlige. En streng bokstavelig er omsluttet av doble anførselstegn. f.eks. "Hello World". Hver gang en streng-bokstavelig opprettet, sjekker Java Virtual Machine (JVM) strengkonstruksjonen for streng. Hvis strengen eksisterer, returneres en referanse til strengstrengkonstanten. Hvis det er en ny streng, opprettes det objektet i streng-bassenget for streng.

Forskjellen mellom String StringBuffer og StringBuilder i Java
Forskjellen mellom String StringBuffer og StringBuilder i Java

Figur 01: Java-program ved bruk av String, StringBuffer og StringBuilder

Se koden nedenfor.

String s1 = “Hei”;

s1 = s1 + “Verden”;

System.out.println (s1);

I den første uttalelsen refererer s1 til “Hei” i String-konstantbassenget. I den andre uttalelsen endrer ikke JVM den eksisterende strengen. I stedet oppretter den en ny streng som “Hello World” og s1 viser nå til den nye strengen. Det spennende "Hello" -objektet eksisterer fortsatt i String-konstantbassenget.

Hvis det er en kode som er, Streng s1 =”Hei”;

Streng s2 = s1;

s1, s2 vil begge referere til strengobjektet "Hei".

Hva er StringBuffer i Java?

StringBuffer-klassen brukes til å gjøre String-objekter mutable. Derfor kan disse objektene endres. StringBuffer definerer fire konstruktører. StringBuffer (), StringBuffer (int størrelse), StringBuffer (String str), StringBuffer (charSequence ch)

Se koden nedenfor, StringBuffer s1 = ny StringBuffer (“Hei”);

s1.append (“Verden”);

System.out.println (s1);

I uttalelse 1 refererer s1 til "Hello" -objektet i en haug. Objektet er mutert fordi det er opprettet ved hjelp av StringBuffer. I uttalelse 2 er "Verden" lagt til det samme "Hei" strengobjektet.

Strengobjekter opprettet med StringBuffer-klasse kan spare minne. StringBuffer gir trådsikkerhet fordi to tråder ikke får tilgang til samme metode i StringBuffer-klassen samtidig. Trådsikkerhet reduserer ytelsen til StringBuffer. StringBuffer-klassen inneholder metoder som append (), insert (), reverse (), erstatt ().

Hva er StringBuilder i Java?

StringBuilder-klassen brukes til å gjøre String-objekter mutable. Derfor kan disse objektene endres. Funksjonaliteten er lik StringBuffer, men dette gir ikke trådsikkerhet. StringBuilder har konstruktører som StringBuilder (), StringBuilder (int størrelse), StringBuilder (String str).

Se koden nedenfor.

StringBuilder s1 = ny StringBuilder (“Hei”);

s1.append (“Verden”);

System.out.println (s1);

I uttalelse 1 refererer s1 til "Hello" -objektet i en haug. Objektet er mutert fordi det er opprettet ved hjelp av StringBuilder. I uttalelse 2 er "Verden" lagt til det samme "Hei" strengobjektet. Det er ingen oppretting av helt nytt strengobjekt.

Strengobjekter opprettet med StringBuilder-klasse kan spare minne. I motsetning til i StringBuffer, gir StringBuilder ikke trådsikkerhet fordi to tråder har tilgang til samme metode i StringBuilder-klassen samtidig. StringBuilder-klassen inneholder metoder som append (), insert (), reverse (), erstatt ().

Hva er likheten mellom String, StringBuffer og StringBuilder i Java?

Alt kan brukes til å lage strenger

Hva er forskjellen mellom String StringBuffer og StringBuilder i Java?

Diff Article Midt før tabell

String vs StringBuffer vs StringBuilder

String Strengen er en Java-klasse som brukes til å lage et objekt av typen String, som er en sekvens av tegn.
StringBuffer StringBuffer er en Java-klasse som brukes til å lage strengobjekter, som kan modifiseres med trådsikkerhet.
StringBuilder StringBuilder er en klasse som brukes til å lage strengobjekter, som kan modifiseres uten trådsikkerhet.
Mutabilitet
String Strengen er en uforanderlig klasse.
StringBuffer StringBuffer er en foranderlig klasse.
StringBuilder StringBuilder er en foranderlig klasse.
Trådsikkerhet
String Metoder for streng er trådsikre.
StringBuffer Metoder for StringBuffer er trådsikre og synkroniserte.
StringBuilder Metoder for StringBuilder er ikke gjenget sikkert og ikke synkronisert.
Opptreden
String Strengen er rask.
StringBuffer StringBuffer er treg.
StringBuilder StringBuilder er rask.

Sammendrag - String vs StringBuffer vs StringBuilder i Java

String, StringBuffer og StringBuilder ser ut til å være de samme, men de har forskjellige betydninger. Alt dette er Java-klasser. Forskjellen mellom String, StringBuffer og StringBuilder i Java er at String er klasse for å lage et objekt av typen String, som er et sett med tegn, StringBuffer er en klasse som brukes til å endre strenger og gi trådsikkerhet, mens StringBuilder er en klasse som brukes til å endre strenger som ikke gir trådsikkerhet.

Last ned PDF String vs StringBuffer vs StringBuilder i Java

Du kan laste ned PDF-versjonen av denne artikkelen og bruke den til frakoblede formål som angitt i en henvisning. Last ned PDF-versjon her Forskjellen mellom String StringBuffer og StringBuilder i Java

Anbefalt: