String StringBufferi Ja Java StringBuilderi Erinevus

Sisukord:

String StringBufferi Ja Java StringBuilderi Erinevus
String StringBufferi Ja Java StringBuilderi Erinevus

Video: String StringBufferi Ja Java StringBuilderi Erinevus

Video: String StringBufferi Ja Java StringBuilderi Erinevus
Video: Строки в Java. String, StringBuilder, StringBuffer, Wrappers. Java Professional. Урок 5 2024, Aprill
Anonim

Põhierinevus - String vs StringBuffer vs StringBuilder Java-s

String, StringBuffer ja String Builder on Java klassid. Stringi kasutatakse laialdaselt Java programmeerimisel. Kui Stringi objekt on loodud, pole neid võimalik muuta. Iga kord, kui stringi muudetakse, loob see uue stringi. Isegi kui see on olemasoleva stringi liitmine, loob see uue stringi. See põhjustab mälu raiskamist. Stringi muutmiseks kasutatakse Java-s asuvaid stringe StringBuffer ja StringBuilder. Põhiline erinevus Stringi, StringBufferi ja StringBuilderi vahel Java-s on see, et String on klass String tüüpi objekti loomiseks, mis on tähemärkide jada, StringBuffer on klass, mida kasutatakse stringide muutmiseks, mis tagab lõime ohutuse, ja StringBuilder on klass, mida kasutatakse stringide muutmiseks, mis ei taga niidi ohutust.

SISU

1. Ülevaade ja võtmevahe

2. Mis on string Java-s

3. Mis on StringBuffer Java-s

4. Mis on StringBuilder Java-s

5. StringBufferi ja Java-i StringBuilderi sarnasused

6. Kõrvuti võrdlus - String vs StringBuffer vs StringBuilder aastal Java tabelina

7. Kokkuvõte

Mis on string Java keeles?

Stringklass on paketis java.lang. Iga kord, kui programmeerija loob stringi, on see tüüp String. Stringid on objekti loomisel muutumatu tähendus, seda ei saa muuta. Samuti on muutmatud sellised objektid, mis on loodud ümbrisklasside abil, nagu täisarv, bait, ujuk, topelt. Stringi literaal on ümbritsetud jutumärkidega. nt “Tere maailm”. Iga kord, kui stressi literaal luuakse, kontrollib Java virtuaalne masin (JVM) stringi konstantse kogumit. Kui string on olemas, tagastatakse viide stringi konstantsele kogumile. Kui see on uus string, luuakse see objekt stringi konstantses kogumis.

String StringBufferi ja Java StringBuilderi erinevus
String StringBufferi ja Java StringBuilderi erinevus

Joonis 01: Java-programm Stringi, StringBufferi ja StringBuilderi abil

Vaadake allolevat koodijuppi.

String s1 = “Tere”;

s1 = s1 + “maailm”;

System.out.println (s1);

Esimeses lauses viitab s1 stringi konstantse kogumi „Hello” -le. Teises avalduses ei muuda JVM olemasolevat stringi. Selle asemel loob see uue stringi nimega "Hello World" ja s1 viitab nüüd sellele uuele stringile. Väljuv „Hello“objekt on stringi konstantse kogumis endiselt olemas.

Kui on kood, mis on, String s1 =”Tere”;

String s2 = s1;

s1, s2 viitavad mõlemad String-objektile “Tere”.

Mis on StringBuffer Java-s?

StringBufferi klassi kasutatakse String-objektide muutlikuks muutmiseks. Seetõttu saab neid objekte muuta. StringBuffer määratleb neli konstruktorit. StringBuffer (), StringBuffer (int-suurus), StringBuffer (String str), StringBuffer (charSequence ch)

Vaadake allolevat koodi, StringBuffer s1 = uus StringBuffer (“Tere”);

s1.append (“Maailm”);

System.out.println (s1);

Lauses 1 viitab s1 kuhja objektile “Tere”. Objekt on muudetav, kuna see on loodud StringBufferi abil. Lauses 2 on “World” lisatud samale stringi objektile “Hello”.

StringBufferi klassiga loodud stringiobjektid võivad mälu salvestada. StringBuffer tagab lõime turvalisuse, kuna kaks lõime ei pääse StringBufferi klassis ühele ja samale meetodile juurde. Keerme ohutus vähendab StringBufferi jõudlust. Klass StringBuffer sisaldab selliseid meetodeid nagu append (), insert (), reverse (), aizstama ().

Mis on Java StringBuilder?

StringBuilderi klassi kasutatakse stringide objektide muutlikuks muutmiseks. Seetõttu saab neid objekte muuta. Funktsionaalsus on sarnane StringBufferiga, kuid see ei taga lõime ohutust. StringBuilderil on sellised konstruktorid nagu StringBuilder (), StringBuilder (int size), StringBuilder (String str).

Vaadake allolevat koodi.

StringBuilder s1 = uus StringBuilder (“Tere”);

s1.append (“Maailm”);

System.out.println (s1);

Lauses 1 viitab s1 kuhja objektile “Tere”. Objekt on muudetav, kuna see on loodud StringBuilderi abil. Lauses 2 on “World” lisatud samale stringi objektile “Hello”. Täiesti uut Stringi objekti pole loodud.

StringBuilder-klassiga loodud stringiobjektid võivad mälu salvestada. Erinevalt StringBufferist ei paku StringBuilder niiditurvalisust, kuna kaks lõime pääsevad StringBuilderi klassis samale meetodile korraga juurde. Klass StringBuilder sisaldab selliseid meetodeid nagu append (), insert (), reverse (), aizstama ().

Milline on Java stringide, StringBufferi ja StringBuilderi sarnasus?

Kõiki saab kasutada stringide loomiseks

Mis vahe on Java StringBufferi ja StringBuilderi vahel?

Erinev artikkel keskel enne tabelit

String vs StringBuffer vs StringBuilder

String String on Java-klass, mida kasutatakse Stringi tüüpi objekti loomiseks, mis on tähemärkide jada.
StringBuffer StringBuffer on Java-klass, mida kasutatakse String-objektide loomiseks, mida saab niidiohutusega muuta.
StringBuilder StringBuilder on klass, mida kasutatakse stringi objektide loomiseks, mida saab muuta ilma lõime ohutuseta.
Muutlikkus
String Nöör on muutumatu klass.
StringBuffer StringBuffer on muudetav klass.
StringBuilder StringBuilder on muudetav klass.
Keerme ohutus
String Stringi meetodid on niidikindlad.
StringBuffer StringBufferi meetodid on niidikindlad ja sünkroniseeritud.
StringBuilder StringBuilderi meetodid pole keermestatud ja pole sünkroonitud.
Performance
String Nöör on kiire.
StringBuffer StringBuffer on aeglane.
StringBuilder StringBuilder on kiire.

Kokkuvõte - String vs StringBuffer vs StringBuilder Java-s

String, StringBuffer ja StringBuilder näivad olevat samad, kuid neil on erinev tähendus. Kõik need on Java-klassid. Stringi, StringBufferi ja StringBuilderi erinevus Java-s on see, et String on klass, et luua Stringi tüüpi objekt, mis on tähemärkide komplekt, StringBuffer on klass, mida kasutatakse stringide muutmiseks ja niidi turvalisuse tagamiseks, StringBuilder on aga klass, mida kasutatakse stringide muutmiseks, mis ei taga niidi ohutust.

Laadige alla Java Struktuur vs StringBuffer vs StringBuilder

Selle artikli PDF-versiooni saate alla laadida ja kasutada võrguühenduseta eesmärkidel, nagu tsiteeritud. Laadige siit alla PDF-versioon. String StringBufferi ja Java StringBuilderi erinevus

Soovitatav: