Skirtumas Tarp „StringBuffer“ir „StringBuilder“sistemoje „Java“

Turinys:

Skirtumas Tarp „StringBuffer“ir „StringBuilder“sistemoje „Java“
Skirtumas Tarp „StringBuffer“ir „StringBuilder“sistemoje „Java“

Video: Skirtumas Tarp „StringBuffer“ir „StringBuilder“sistemoje „Java“

Video: Skirtumas Tarp „StringBuffer“ir „StringBuilder“sistemoje „Java“
Video: Koks skirtumas tarp buhalterio ir finansų analitiko? 2024, Balandis
Anonim

Pagrindinis skirtumas - „String vs StringBuffer“vs „StringBuilder“„Java“

„String“, „StringBuffer“ir „String Builder“yra „Java“klasės. Stygos plačiai naudojamos Java programavime. Sukūrus eilutės objektą, jų pakeisti neįmanoma. Kiekvieną kartą, kai pasikeičia eilutė, ji sukuria naują eilutę. Net jei tai yra susiejimas su esama styga, jis sukuria naują stygą. Tai sukelia atminties švaistymą. „StringBuffer“ir „StringBuilder“klasės „Java“naudojamos modifikuoti „String“. Pagrindinis skirtumas tarp „String“, „StringBuffer“ir „StringBuilder“sistemoje „Java“yra tas, kad „String“yra klasė, skirta sukurti „String“tipo objektą, kuris yra simbolių seka, „StringBuffer“yra klasė, naudojama modifikuoti „Strings“, užtikrinančią siūlų saugumą, o „StringBuilder“yra klasė, naudojama modifikuoti stygas, kurios neužtikrina siūlų saugumo.

TURINYS

1. Apžvalga ir raktų skirtumas

2. Kas yra „String“sistemoje „Java“

3. Kas yra „StringBuffer“sistemoje „Java“

4. Kas yra „StringBuilder“programoje „Java“

5. „StringBuffer“ir „StringBuilder“„Java“panašumai

6. Gretimas palyginimas - „String vs StringBuffer“vs „StringBuilder“„Java“lentelės forma

7. Santrauka

Kas yra „Java“eilutė?

Stygų klasė yra pakuotėje java.lang. Kiekvieną kartą, kai programuotojas sukuria eilutę, tai yra „String“tipo objektas. Stygos yra nekintama reikšmė, kai objektas sukuriamas, jos pakeisti negalima. Objektai, sukurti naudojant „wrapper“klases, tokias kaip „Integer“, „Byte“, „Float“, „Double“, taip pat yra nekintami. Styginis literalas yra įdėtas į dvi kabutes. pvz., „Sveikas pasaulis“. Kiekvieną kartą, kai sukuriamas eilutės literalas, „Java“virtualioji mašina (JVM) patikrina „String“pastovų telkinį. Jei eilutė egzistuoja, grąžinama nuoroda į eilutės pastovų telkinį. Jei tai yra nauja eilutė, tas objektas sukuriamas eilutės „String“baseine.

Skirtumas tarp „StringBuffer“ir „StringBuilder“sistemoje „Java“
Skirtumas tarp „StringBuffer“ir „StringBuilder“sistemoje „Java“

01 pav. „Java“programa naudojant „String“, „StringBuffer“ir „StringBuilder“

Peržiūrėkite toliau pateiktą kodo dalį.

String s1 = „Sveiki“;

s1 = s1 + „Pasaulis“;

System.out.println (s1);

Pirmajame sakinyje s1 nurodo „Sveiki“String pastoviame telkinyje. Antrame teiginyje JVM nekeičia esamos eilutės. Vietoj to, jis sukuria naują eilutę kaip „Hello World“, o s1 dabar nurodo tą naują eilutę. Išeinantis „Labas“objektas vis dar yra „String“pastoviame telkinyje.

Jei yra kodas, kuris yra, String s1 = „Sveiki“;

Eilutė s2 = s1;

s1, s2 abu nurodys eilutės objektą „Labas“.

Kas yra „StringBuffer“„Java“?

„StringBuffer“klasė naudojama norint, kad „String“objektai būtų keičiami. Todėl tuos objektus galima modifikuoti. „StringBuffer“apibrėžia keturis konstruktorius. StringBuffer (), StringBuffer (int dydis), StringBuffer (String str), StringBuffer (charSequence ch)

Žr. Žemiau esantį kodą, „StringBuffer“s1 = naujas „StringBuffer“(„Labas“);

s1.append („Pasaulis“);

System.out.println (s1);

1 sakinyje s1 nurodo „Labas“objektą su kaupu. Objektas yra kintamas, nes jis sukurtas naudojant „StringBuffer“. 2 sakinyje „Pasaulis“pridedamas prie to paties „Labas“styginių objekto.

String objektai, sukurti naudojant „StringBuffer“klasę, gali sutaupyti atminties. „StringBuffer“užtikrina siūlų saugumą, nes dvi gijos vienu metu negali naudotis tuo pačiu metodu „StringBuffer“klasėje. Sriegio sauga sumažina „StringBuffer“našumą. „StringBuffer“klasėje yra tokie metodai kaip „append“(), „insert“(), reverse (), „pakeisti“().

Kas yra „StringBuilder“„Java“?

„StringBuilder“klasė naudojama norint, kad „String“objektai būtų keičiami. Todėl tuos objektus galima modifikuoti. Funkcionalumas yra panašus į „StringBuffer“, tačiau tai neužtikrina siūlų saugumo. „StringBuilder“turi tokius konstruktorius kaip „StringBuilder“(), „StringBuilder“(int dydis), „StringBuilder“(„String str“).

Žr. Žemiau pateiktą kodą.

„StringBuilder“s1 = naujas „StringBuilder“(„Labas“);

s1.append („Pasaulis“);

System.out.println (s1);

1 sakinyje s1 nurodo „Labas“objektą su kaupu. Objektas yra kintamas, nes jis sukurtas naudojant „StringBuilder“. 2 sakinyje „Pasaulis“pridedamas prie to paties „Labas“styginių objekto. Nėra visiškai naujo String objekto kūrimo.

String objektai, sukurti naudojant „StringBuilder“klasę, gali sutaupyti atminties. Skirtingai nei „StringBuffer“, „StringBuilder“neužtikrina siūlų saugumo, nes dvi gijos vienu metu gali pasiekti tą patį metodą „StringBuilder“klasėje. „StringBuilder“klasėje yra metodai, tokie kaip „append“(), „insert“(), reverse (), pakeisti ().

Kuo „Java“yra „String“, „StringBuffer“ir „StringBuilder“panašus?

Viską galima naudoti kuriant stygas

Kuo skiriasi „StringBuffer“ir „StringBuilder“programoje „Java“?

Skirtingas straipsnis viduryje prieš lentelę

String vs StringBuffer vs StringBuilder

Stygos Eilutė yra „Java“klasė, naudojama kuriant „String“tipo objektą, kuris yra simbolių seka.
„StringBuffer“ „StringBuffer“yra „Java“klasė, naudojama kuriant „String“objektus, kuriuos galima modifikuoti užtikrinant siūlų saugumą.
„StringBuilder“ „StringBuilder“yra klasė, naudojama kuriant eilutės objektus, kuriuos galima modifikuoti nesaugant siūlų.
Kintamumas
Stygos Stygos yra nekintama klasė.
„StringBuffer“ „StringBuffer“yra kintama klasė.
„StringBuilder“ „StringBuilder“yra kintama klasė.
Siūlų sauga
Stygos Stygų metodai yra saugūs siūlams.
„StringBuffer“ „StringBuffer“metodai yra saugūs ir sinchronizuoti.
„StringBuilder“ „StringBuilder“metodai nėra saugūs ir nėra sinchronizuojami.
Spektaklis
Stygos Styga yra greita.
„StringBuffer“ „StringBuffer“veikia lėtai.
„StringBuilder“ „StringBuilder“yra greitas.

Santrauka - String vs StringBuffer vs StringBuilder Java

„String“, „StringBuffer“ir „StringBuilder“, atrodo, yra vienodi, tačiau jie turi skirtingą reikšmę. Visa tai yra „Java“klasės. Skirtumas tarp „String“, „StringBuffer“ir „StringBuilder“sistemoje „Java“yra tas, kad „String“yra klasė, skirta sukurti „String“tipo objektą, kuris yra simbolių rinkinys, „StringBuffer“yra klasė, naudojama modifikuoti stygas ir užtikrinti siūlų saugumą, o „StringBuilder“yra klasė, naudojama modifikuoti stygas, kurios neužtikrina siūlų saugumo.

Atsisiųskite „Java“PDF String vs StringBuffer vs StringBuilder

Galite atsisiųsti šio straipsnio PDF versiją ir naudoti ją neprisijungus, kaip nurodyta citatos pastaboje. Atsisiųskite PDF versiją čia Skirtumas tarp „String StringBuffer“ir „StringBuilder“sistemoje „Java“

Rekomenduojama: