Obsah:
- Kľúčový rozdiel - String vs StringBuffer vs StringBuilder v Jave
- Čo je to reťazec v Jave?
- Čo je to StringBuffer v Jave?
- Čo je to StringBuilder v Jave?
- Aká je podobnosť medzi String, StringBuffer a StringBuilder v Jave?
- Aký je rozdiel medzi String StringBuffer a StringBuilder v Jave?
- Zhrnutie - String vs StringBuffer vs StringBuilder v Jave
Video: Rozdiel Medzi String StringBuffer A StringBuilder V Jave
2024 Autor: Mildred Bawerman | [email protected]. Naposledy zmenené: 2023-12-16 08:42
Kľúčový rozdiel - String vs StringBuffer vs StringBuilder v Jave
String, StringBuffer a String Builder sú triedy v Jave. String je široko používaný v programovaní Java. Po vytvorení objektu String nie je možné ich zmeniť. Zakaždým, keď dôjde k zmene reťazca, vytvorí sa nový reťazec. Aj keď ide o zreťazenie s existujúcim reťazcom, vytvorí nový reťazec. To spôsobí stratu pamäte. Na úpravu String sa používajú triedy StringBuffer a StringBuilder v Jave. Kľúčový rozdiel medzi String, StringBuffer a StringBuilder v Jave je ten, že String je trieda na vytvorenie objektu typu String, ktorý je postupnosťou znakov, StringBuffer je trieda, ktorá sa používa na úpravu reťazcov, ktoré poskytujú bezpečnosť vlákien, a StringBuilder je triedy, ktorá sa používa na úpravu reťazcov, ktoré neposkytujú bezpečnosť vlákien.
OBSAH
1. Prehľad a kľúčový rozdiel
2. Čo je to String v Jave
3. Čo je StringBuffer v Jave
4. Čo je StringBuilder v Jave
5. Podobnosti medzi String StringBuffer a StringBuilder v Jave
6. Porovnanie vedľa seba - String vs StringBuffer vs StringBuilder v Java v tabuľkovej podobe
7. Zhrnutie
Čo je to reťazec v Jave?
Trieda reťazcov je v balíku java.lang. Zakaždým, keď programátor vytvorí reťazec, je to objekt typu reťazec. Reťazce sú nemenným významom, ktorý po vytvorení objektu nie je možné zmeniť. Objekty vytvorené pomocou tried obálky ako Integer, Byte, Float, Double sú tiež nemenné. Reťazcový literál je uzavretý v úvodzovkách. napr. „Hello World“. Zakaždým, keď sa vytvorí reťazcový literál, Java Virtual Machine (JVM) skontroluje fond konštantných reťazcov. Ak reťazec existuje, vráti sa odkaz na fond konštantných reťazcov. Ak ide o nový reťazec, tento objekt sa vytvorí v skupine konštantných reťazcov.
Obrázok 01: Program Java používajúci String, StringBuffer a StringBuilder
Prečítajte si nižšie uvedený kód.
Reťazec s1 = „Dobrý deň“;
s1 = s1 + „svet“;
System.out.println (s1);
V prvom príkaze s1 odkazuje na „Hello“v skupine konštantných reťazcov. V druhom vyhlásení JVM nezmení existujúci reťazec. Namiesto toho vytvorí nový reťazec ako „Hello World“a s1 teraz odkazuje na tento nový reťazec. Ukončujúci objekt „Hello“stále existuje v skupine konštantných reťazcov.
Ak existuje kód, ktorý je, Reťazec s1 = „Dobrý deň“;
Reťazec s2 = s1;
s1, s2 obidva budú odkazovať na objekt String „Hello“.
Čo je to StringBuffer v Jave?
Trieda StringBuffer sa používa na to, aby boli objekty String premenlivé. Preto je možné tieto objekty upravovať. StringBuffer definuje štyri konštruktory. StringBuffer (), StringBuffer (veľkosť int), StringBuffer (reťazec str), StringBuffer (charSequence ch)
Prečítajte si kód uvedený nižšie, StringBuffer s1 = nový StringBuffer („Ahoj“);
s1.append („Svet“);
System.out.println (s1);
Vo vyhlásení 1 s1 odkazuje na objekt „Hello“v halde. Objekt je premenlivý, pretože je vytvorený pomocou nástroja StringBuffer. Vo vyhlásení 2 sa výraz „svet“pripojí k rovnakému objektu reťazca „Hello“.
Reťazcové objekty vytvorené pomocou triedy StringBuffer môžu ušetriť pamäť. StringBuffer poskytuje bezpečnosť vlákien, pretože dve vlákna nemôžu súčasne pristupovať k rovnakej metóde v triede StringBuffer. Bezpečnosť vlákna znižuje výkon StringBuffer. Trieda StringBuffer obsahuje metódy ako append (), insert (), reverse (), replace ().
Čo je to StringBuilder v Jave?
Trieda StringBuilder sa používa na zabezpečenie premenlivosti objektov String. Preto je možné tieto objekty upravovať. Funkčnosť je podobná ako v StringBuffer, ale to nezabezpečuje bezpečnosť vlákien. StringBuilder má konštruktory ako StringBuilder (), StringBuilder (veľkosť int), StringBuilder (String str).
Pozrite si nižšie uvedený kód.
StringBuilder s1 = nový StringBuilder („Ahoj“);
s1.append („Svet“);
System.out.println (s1);
Vo vyhlásení 1 s1 odkazuje na objekt „Hello“v halde. Objekt je premenlivý, pretože je vytvorený pomocou nástroja StringBuilder. Vo vyhlásení 2 sa výraz „svet“pripojí k rovnakému objektu reťazca „Hello“. Neexistuje vytvorenie úplne nového objektu String.
Reťazcové objekty vytvorené pomocou triedy StringBuilder môžu ušetriť pamäť. Na rozdiel od StringBuffer, StringBuilder neposkytuje bezpečnosť vlákien, pretože dve vlákna môžu mať prístup k rovnakej metóde v triede StringBuilder súčasne. Trieda StringBuilder obsahuje metódy ako append (), insert (), reverse (), replace ().
Aká je podobnosť medzi String, StringBuffer a StringBuilder v Jave?
Všetko je možné použiť na vytvorenie reťazcov
Aký je rozdiel medzi String StringBuffer a StringBuilder v Jave?
Rozdielny článok v strede pred tabuľkou
String vs StringBuffer vs StringBuilder |
|
String | Reťazec je trieda Java, ktorá sa používa na vytvorenie objektu typu String, čo je postupnosť znakov. |
StringBuffer | StringBuffer je trieda Java, ktorá sa používa na vytváranie objektov String, ktoré je možné upravovať pomocou bezpečnosti vlákien. |
StringBuilder | StringBuilder je trieda, ktorá sa používa na vytváranie reťazcových objektov, ktoré je možné upravovať bez bezpečnosti vlákien. |
Premenlivosť | |
String | Reťazec je nemenná trieda. |
StringBuffer | StringBuffer je premenlivá trieda. |
StringBuilder | StringBuilder je premenlivá trieda. |
Bezpečnosť závitu | |
String | Metódy reťazca sú bezpečné pre vlákna. |
StringBuffer | Metódy StringBuffer sú bezpečné pre vlákna a synchronizované. |
StringBuilder | Metódy StringBuilder nie sú bezpečné z hľadiska vlákien a nie sú synchronizované. |
Výkon | |
String | Šnúrka je rýchla. |
StringBuffer | StringBuffer je pomalý. |
StringBuilder | StringBuilder je rýchly. |
Zhrnutie - String vs StringBuffer vs StringBuilder v Jave
String, StringBuffer a StringBuilder sa zdajú byť rovnaké, ale majú rôzne významy. Všetko sú to triedy Java. Rozdiel medzi String, StringBuffer a StringBuilder v Jave je ten, že String je trieda na vytvorenie objektu typu String, čo je sada znakov, StringBuffer je trieda, ktorá sa používa na úpravu reťazcov a zaistenie bezpečnosti vlákien, zatiaľ čo StringBuilder je trieda, ktorá sa používa na úpravu reťazcov, ktorá neposkytuje bezpečnosť vlákien.
Stiahnite si súbor PDF String vs StringBuffer vs StringBuilder v prostredí Java
Môžete si stiahnuť verziu tohto článku vo formáte PDF a použiť ho na offline účely podľa citačnej poznámky. Stiahnite si tu PDF verziu. Rozdiel medzi String StringBuffer a StringBuilder v Jave
Odporúčaná:
Rozdiel Medzi StringBuffer A StringBuilder
StringBuffer vs StringBuilder Java je veľmi populárny objektovo orientovaný jazyk. V Jave je trieda String poskytovaná na uchovanie postupnosti znakov, ktoré
Rozdiel Medzi Premennými A údajovými Literálmi V Jave
Kľúčový rozdiel - premenné vs dátové literály v jazyku Java Počítačový program je sada pokynov na vykonanie úlohy. Je potrebné ukladať údaje počas postupu
Rozdiel Medzi Hodmi A Hodmi V Jave
Kľúčový rozdiel - vrhanie a vrhanie v Jave Pri programovaní sa môžu vyskytnúť chyby. Chyba v programe dáva neočakávaný výsledok alebo sa môže ukončiť
Rozdiel Medzi Týmto A Super V Jave
Kľúčový rozdiel - tento v porovnaní so super v Jave Kľúčové slová - toto ' a ' super ' sa používajú v programovaní Java. Tieto kľúčové slová nemožno použiť ako premenné ani ako ľubovoľné ďalšie
Rozdiel Medzi Preťažením A Prepísaním V Jave
Kľúčový rozdiel - preťaženie a prepísanie v objektovo orientovanom programovaní Java (OOP) je hlavnou paradigmou vo vývoji softvéru. Ide o metodiku pre