Különbség A StringBuffer és A Java StringBuilder Között

Tartalomjegyzék:

Különbség A StringBuffer és A Java StringBuilder Között
Különbség A StringBuffer és A Java StringBuilder Között

Videó: Különbség A StringBuffer és A Java StringBuilder Között

Videó: Különbség A StringBuffer és A Java StringBuilder Között
Videó: အလြမ္းေႏြကိုစမ္းေရထဲေမွ်ာလိုက္ၿပီ 2024, December
Anonim

Fő különbség - String vs StringBuffer vs StringBuilder a Java-ban

A String, a StringBuffer és a String Builder a Java osztályai. A karakterláncot széles körben használják a Java programozásban. Miután létrehozta a String objektumot, nem lehet megváltoztatni őket. Minden alkalommal, amikor változás történik a karakterláncon, új karakterláncot hoz létre. Még ha ez egy összefűzés is egy meglévő húrhoz, új húrot hoz létre. Ez memóriapazarlást okoz. A StringBuffer és a StringBuilder osztályok a Java-ban a String módosítására szolgálnak. A legfontosabb különbség a String, a StringBuffer és a StringBuilder között a Java-ban az, hogy a String egy osztály egy String típusú objektum létrehozására, amely egy karaktersorozat, a StringBuffer egy olyan osztály, amelyet a Strings módosítására használnak, ami szálbiztonságot nyújt, a StringBuilder pedig egy osztály, amelyet a szálbiztonságot nem biztosító húrok módosítására használnak.

TARTALOM

1. Áttekintés és kulcsfontosságú különbségek

2. Mi a String a Java-ban

3. Mi a StringBuffer a Java-ban

4. Mi a StringBuilder a Java-ban

5. A StringBuffer és a StringBuilder Java közötti hasonlóságok

6. Egymás melletti összehasonlítás - String vs StringBuffer vs StringBuilder itt: Java táblázatos formában

7. Összegzés

Mi a karakterlánc a Java-ban?

A karakterlánc osztály java.lang csomagban van. Minden alkalommal, amikor a programozó létrehoz egy stringet, ez egy String típusú objektum. A karakterláncok az objektum létrehozása után megváltoztathatatlanok, és nem változtathatók meg. Az olyan burkoló osztályokkal létrehozott objektumok, mint az Integer, Byte, Float, Double, szintén változhatatlanok. A karakterlánc betűs része dupla idézőjelek között szerepel. pl. „Hello World”. Minden egyes karakterlánc-szó létrehozásakor a Java virtuális gép (JVM) ellenőrzi a karakterlánc konstans készletét. Ha a karakterlánc létezik, akkor a String konstans készletre való hivatkozás visszatér. Ha új karakterláncról van szó, akkor az objektum a String konstans készletben jön létre.

Különbség a StringBuffer és a Java StringBuilder között
Különbség a StringBuffer és a Java StringBuilder között

01. ábra: Java program a String, StringBuffer és StringBuilder használatával

Lásd az alábbi kódrészletet.

String s1 = “Hello”;

s1 = s1 + „Világ”;

System.out.println (s1);

Az első utasításban az s1 a String konstans készlet „Hello” -jára utal. A második utasításban a JVM nem változtatja meg a meglévő karakterláncot. Ehelyett létrehoz egy új karakterláncot „Hello World” néven, és az s1 most hivatkozik erre az új karakterláncra. A kilépő „Hello” objektum továbbra is létezik a String konstans készletben.

Ha van egy kód, String s1 = “Hello”;

Karakterlánc s2 = s1;

s1, s2 mindkettő a „Hello” karakterlánc objektumra utal.

Mi a StringBuffer a Java-ban?

A StringBuffer osztály a String objektumok változtathatóvá tételére szolgál. Ezért ezek az objektumok módosíthatók. A StringBuffer négy konstruktort határoz meg. StringBuffer (), StringBuffer (int méret), StringBuffer (String str), StringBuffer (charSequence ch)

Lásd az alábbi kódot, StringBuffer s1 = új StringBuffer (“Hello”);

s1.append („Világ”);

System.out.println (s1);

Az 1. utasításban az s1 a halom „Hello” objektumára utal. Az objektum azért változtatható, mert a StringBuffer használatával jött létre. A 2. nyilatkozatban a „Világ” ugyanahhoz a „Hello” karakterlánc objektumhoz van csatolva.

A StringBuffer osztállyal létrehozott karakterlánc-objektumok memóriát takaríthatnak meg. A StringBuffer szálbiztonságot nyújt, mivel két szál egyszerre nem férhet hozzá ugyanahhoz a módszerhez a StringBuffer osztályban. Menetbiztonság csökken a StringBuffer teljesítményében. A StringBuffer osztály olyan módszereket tartalmaz, mint az append (), insert (), reverse (), cseréje ().

Mi a StringBuilder a Java-ban?

A StringBuilder osztály a String objektumok változtathatóvá tételére szolgál. Ezért ezek az objektumok módosíthatók. A funkcionalitás hasonló a StringBufferhez, de ez nem nyújt szálbiztonságot. A StringBuilder olyan konstruktorokkal rendelkezik, mint a StringBuilder (), StringBuilder (int méret), StringBuilder (String str).

Lásd az alábbi kódot.

StringBuilder s1 = új StringBuilder (“Hello”);

s1.append („Világ”);

System.out.println (s1);

Az 1. utasításban az s1 a halom „Hello” objektumára utal. Az objektum azért változtatható, mert a StringBuilder használatával jött létre. A 2. nyilatkozatban a „Világ” ugyanahhoz a „Hello” karakterlánc objektumhoz van csatolva. Nincs teljesen új String objektum létrehozása.

A StringBuilder osztály segítségével létrehozott karakterlánc-objektumok memóriát takaríthatnak meg. A StringBuffer-től eltérően a StringBuilder nem nyújt szálbiztonságot, mert két szál egyszerre érheti el ugyanazt a módszert a StringBuilder osztályban. A StringBuilder osztály olyan módszereket tartalmaz, mint az append (), insert (), reverse (), cseréje ().

Mi a hasonlóság a String, a StringBuffer és a StringBuilder között a Java-ban?

Mindez felhasználható karakterláncok létrehozására

Mi a különbség a String StringBuffer és a StringBuilder között a Java-ban?

Különböző cikk a táblázat előtt

String vs StringBuffer vs StringBuilder

Húr A karakterlánc egy Java osztály, amelyet String típusú objektum létrehozására használnak, amely egy karaktersorozat.
StringBuffer A StringBuffer egy Java osztály, amelyet String objektumok létrehozására használnak, amelyek szálbiztonsággal módosíthatók.
StringBuilder A StringBuilder egy olyan osztály, amelyet karakterlánc objektumok létrehozására használnak, amelyek a szál biztonsága nélkül módosíthatók.
Változtathatóság
Húr A húr változhatatlan osztály.
StringBuffer A StringBuffer egy változtatható osztály.
StringBuilder A StringBuilder egy módosítható osztály.
Menetbiztonság
Húr A húr módszerei szálbiztosak.
StringBuffer A StringBuffer módszerei szálbiztosak és szinkronizáltak.
StringBuilder A StringBuilder metódusai nincsenek biztonságos szálon és nem szinkronizálva.
Teljesítmény
Húr A húr gyors.
StringBuffer A StringBuffer lassú.
StringBuilder A StringBuilder gyors.

Összegzés - String vs StringBuffer vs StringBuilder a Java-ban

Úgy tűnik, hogy a String, a StringBuffer és a StringBuilder azonos, de különböző jelentése van. Ezek mind Java osztályok. A Java közötti String, StringBuffer és StringBuilder között az a különbség, hogy a String osztály egy String típusú objektum létrehozására, amely egy karakterkészlet, a StringBuffer egy olyan osztály, amelyet a karakterláncok módosítására és a szálbiztonság biztosítására használnak, míg a StringBuilder egy osztály, amelyet a húrok módosítására használnak, amelyek nem biztosítják a menet biztonságát.

Töltse le a Java String vs StringBuffer vs StringBuilder fájlt

A cikk PDF-verzióját letöltheti, és offline célokra is használhatja, az idézési megjegyzés szerint. Kérjük, töltse le itt a PDF verziót. Különbség a String StringBuffer és a Java StringBuilder között

Ajánlott: