Forskellen Mellem String StringBuffer Og StringBuilder I Java

Indholdsfortegnelse:

Forskellen Mellem String StringBuffer Og StringBuilder I Java
Forskellen Mellem String StringBuffer Og StringBuilder I Java

Video: Forskellen Mellem String StringBuffer Og StringBuilder I Java

Video: Forskellen Mellem String StringBuffer Og StringBuilder I Java
Video: Строки в Java. String, StringBuilder, StringBuffer, Wrappers. Java Professional. Урок 5 2024, November
Anonim

Nøgleforskel - String vs StringBuffer vs StringBuilder i Java

String, StringBuffer og String Builder er klasser i Java. String bruges i vid udstrækning i Java-programmering. Når et objekt af streng er oprettet, er det ikke muligt at ændre dem. Hver gang der sker en ændring af strengen, opretter den en ny streng. Selvom det er en sammenkædning til en eksisterende streng, opretter den en ny streng. Dette medfører spild af hukommelse. StringBuffer- og StringBuilder-klasser i Java bruges til at ændre String. Hovedforskellen mellem String, StringBuffer og StringBuilder i Java er, at String er en klasse for at oprette et objekt af typen String, der er en række af tegn, StringBuffer er en klasse, der bruges til at ændre strenge, der giver trådsikkerhed, og StringBuilder er en klasse, der bruges til at ændre strenge, der ikke giver trådsikkerhed.

INDHOLD

1. Oversigt og nøgleforskel

2. Hvad er streng i Java

3. Hvad er StringBuffer i Java

4. Hvad er StringBuilder i Java

5. Ligheder mellem String StuffBuffer og StringBuilder i Java

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

7. Oversigt

Hvad er streng i Java?

Strengklassen er i java.lang-pakke. Hver gang programmøren opretter en streng, er det et objekt af typen streng. Strenge er uforanderlig betydning, når objektet er oprettet, kan det ikke ændres. Objekter oprettet ved hjælp af indpakningsklasser som Integer, Byte, Float, Double er også uforanderlige. En strenglitteratur er omsluttet af dobbelt anførselstegn. f.eks. “Hej verden”. Hver gang en streng bogstavelig oprettes, kontrollerer Java Virtual Machine (JVM) strengkonstruktionspuljen. Hvis strengen findes, returneres en henvisning til strengkonstruktionspuljen. Hvis det er en ny streng, oprettes det objekt i den konstante pulje streng.

Forskellen mellem String StringBuffer og StringBuilder i Java
Forskellen mellem String StringBuffer og StringBuilder i Java

Figur 01: Java-program ved hjælp af String, StringBuffer og StringBuilder

Se nedenstående stykke kode.

String s1 = “Hej”;

s1 = s1 + “Verden”;

System.out.println (s1);

I den første erklæring henviser s1 til “Hej” i streng-puljen konstant. I den anden erklæring ændrer JVM ikke den eksisterende streng. I stedet opretter det en ny streng som "Hello World", og s1 henviser nu til den nye streng. Det spændende "Hello" -objekt eksisterer stadig i streng-puljen.

Hvis der er en kode, der er, Streng s1 =”Hej”;

Streng s2 = s1;

s1, s2 begge vil henvise til strengobjektet “Hej”.

Hvad er StringBuffer i Java?

StringBuffer-klassen bruges til at gøre String-objekter mutable. Derfor kan disse objekter ændres. StringBuffer definerer fire konstruktører. StringBuffer (), StringBuffer (int størrelse), StringBuffer (String str), StringBuffer (charSequence ch)

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

s1.append (“Verden”);

System.out.println (s1);

I sætning 1 henviser s1 til "Hello" -objektet i en bunke. Objektet kan ændres, fordi det oprettes ved hjælp af StringBuffer. I erklæring 2 tilføjes "Verden" til det samme "Hej" strengobjekt.

Strengobjekter oprettet med StringBuffer-klassen kan spare hukommelse. StringBuffer giver trådsikkerhed, fordi to tråde ikke kan få adgang til den samme metode i StringBuffer-klassen samtidigt. Trådsikkerhed mindsker StringBuffers ydeevne. StringBuffer-klassen indeholder metoder som append (), insert (), reverse (), erstatt ().

Hvad er StringBuilder i Java?

StringBuilder-klassen bruges til at gøre String-objekter mutable. Derfor kan disse objekter ændres. Funktionaliteten ligner StringBuffer, men dette giver ikke trådsikkerhed. StringBuilder har konstruktører som StringBuilder (), StringBuilder (int størrelse), StringBuilder (String str).

Se nedenstående kode.

StringBuilder s1 = ny StringBuilder (“Hej”);

s1.append (“Verden”);

System.out.println (s1);

I sætning 1 henviser s1 til "Hello" -objektet i en bunke. Objektet kan ændres, fordi det oprettes ved hjælp af StringBuilder. I erklæring 2 tilføjes "Verden" til det samme "Hej" strengobjekt. Der er ingen oprettelse af helt nyt strengobjekt.

Strengobjekter oprettet med StringBuilder-klassen kan spare hukommelse. I modsætning til i StringBuffer giver StringBuilder ikke trådsikkerhed, fordi to tråde kan få adgang til den samme metode i StringBuilder-klassen samtidigt. StringBuilder-klassen indeholder metoder som append (), insert (), reverse (), erstatt ().

Hvad er ligheden mellem String, StringBuffer og StringBuilder i Java?

Alt kan bruges til at oprette strenge

Hvad er forskellen mellem String StringBuffer og StringBuilder i Java?

Diff artikel midt foran bordet

String vs StringBuffer vs StringBuilder

Snor Strengen er en Java-klasse, der bruges til at oprette et objekt af typen String, som er en sekvens af tegn.
StringBuffer StringBuffer er en Java-klasse, der bruges til at oprette strengobjekter, som kan ændres med trådsikkerhed.
StringBuilder StringBuilder er en klasse, der bruges til at oprette strengobjekter, som kan ændres uden trådsikkerhed.
Ændring
Snor Strengen er en uforanderlig klasse.
StringBuffer StringBuffer er en ændret klasse.
StringBuilder StringBuilder er en ændret klasse.
Trådsikkerhed
Snor Metoder for streng er trådsikre.
StringBuffer Metoder til StringBuffer er trådsikre og synkroniserede.
StringBuilder Metoder til StringBuilder er ikke trådede sikre og synkroniseres ikke.
Ydeevne
Snor Strengen er hurtig.
StringBuffer StringBuffer er langsom.
StringBuilder StringBuilder er hurtig.

Resumé - String vs StringBuffer vs StringBuilder i Java

String, StringBuffer og StringBuilder ser ud til at være de samme, men de har forskellige betydninger. Alle disse er Java-klasser. Forskellen mellem String, StringBuffer og StringBuilder i Java er, at String er klasse for at oprette et objekt af typen String, som er et sæt tegn, StringBuffer er en klasse, der bruges til at ændre strenge og give trådsikkerhed, mens StringBuilder er en klasse, der bruges til at ændre strenge, som ikke giver trådsikkerhed.

Download PDF String vs StringBuffer vs StringBuilder i Java

Du kan downloade PDF-version af denne artikel og bruge den til offlineformål som pr. Citatnote. Download venligst PDF-version her Forskellen mellem String StringBuffer og StringBuilder i Java

Anbefalet: