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: Строки в Java. String, StringBuilder, StringBuffer, Wrappers. Java Professional. Урок 5 2024, November
Anonim

Key Difference – String vs StringBuffer vs StringBuilder i Java

String, StringBuffer og String Builder er klasser i Java. String er mye brukt i Java-programmering. Når et objekt av String er opprettet, er det ikke mulig å endre dem. Hver gang det skjer en endring i strengen, opprettes en ny streng. Selv om det er en sammenkobling til en eksisterende streng, oppretter det en ny streng. Dette fører til sløsing med minne. 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 å modifisere Strings som gir trådsikkerhet, og StringBuilder er en klasse som brukes til å modifisere strenger som ikke gir trådsikkerhet.

Hva er streng i Java?

String-klassen er i java.lang-pakken. Hver gang programmereren oppretter en streng, er det et objekt av typen String. Strenger er uforanderlig betydning når objektet er opprettet, det kan ikke endres. Objekter opprettet ved hjelp av wrapper-klasser som Integer, Byte, Float, Double er også uforanderlige. En streng bokstavelig er omgitt av doble anførselstegn. f.eks. "Hei Verden". Hver gang en streng bokstavelig opprettes, sjekker Java Virtual Machine (JVM) strengkonstantpoolen. Hvis strengen eksisterer, returneres en referanse til strengkonstantpoolen. Hvis det er en ny streng, opprettes objektet i strengkonstantpoolen.

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

Figur 01: Java-program som bruker String, StringBuffer og StringBuilder

Se koden nedenfor.

String s1=“Hei”;

s1=s1 + “World”;

System.out.println(s1);

I den første setningen refererer s1 til "Hallo" i strengkonstantpoolen. I den andre setningen endrer ikke JVM den eksisterende strengen. I stedet oppretter den en ny streng som "Hello World", og s1 refererer nå til den nye strengen. Det avsluttende «Hello»-objektet eksisterer fortsatt i strengkonstantpoolen.

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

String s2=s1;

s1, s2 vil begge referere til String-objektet "Hello".

Hva er StringBuffer i Java?

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

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

s1.append(“Verden”);

System.out.println(s1);

I setning 1 refererer s1 til "Hello"-objektet i en haug. Objektet kan endres fordi det er opprettet ved hjelp av StringBuffer. I setning 2 er "World" lagt til det samme "Hello"-strengobjektet.

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

Hva er StringBuilder i Java?

StringBuilder-klassen brukes til å gjøre String-objekter mutbare. Derfor kan disse objektene endres. Funksjonaliteten ligner på StringBuffer, men dette gir ikke trådsikkerhet. StringBuilder har konstruktører som StringBuilder(), StringBuilder(int size), StringBuilder(String str).

Se koden nedenfor.

StringBuilder s1=new StringBuilder(“Hei”);

s1.append(“Verden”);

System.out.println(s1);

I setning 1 refererer s1 til "Hello"-objektet i en haug. Objektet kan endres fordi det er opprettet ved hjelp av StringBuilder. I setning 2 er "Verden" lagt til det samme "Hallo"-strengobjektet. Det er ingen opprettelse av et helt nytt strengobjekt.

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

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

Alle kan brukes til å lage strenger

Hva er forskjellen mellom String StringBuffer og StringBuilder i Java?

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 String-objekter, som kan modifiseres med trådsikkerhet.
StringBuilder StringBuilder er en klasse som brukes til å lage strengobjekter, som kan endres uten trådsikkerhet.
Mutability
String Strengen er en uforanderlig klasse.
StringBuffer StringBuffer er en foranderlig klasse.
StringBuilder StringBuilder er en foranderlig klasse.
Trådsikkerhet
String Methods of String er trådsikre.
StringBuffer Methods of StringBuffer er trådsikre og synkroniserte.
StringBuilder Methods of StringBuilder er ikke trådsikre og ikke synkronisert.
Ytelse
String Strengen er rask.
StringBuffer StringBuffer er treg.
StringBuilder StringBuilder er rask.

Summary – String vs StringBuffer vs StringBuilder i Java

String, StringBuffer og StringBuilder ser ut til å være de samme, men de har forskjellige betydninger. Alle disse 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 å modifisere Strings og gi trådsikkerhet, mens StringBuilder er en klasse som brukes til å modifisere 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 offline-formål i henhold til sitat. Last ned PDF-versjon her Forskjellen mellom String StringBuffer og StringBuilder i Java

Anbefalt: