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

Anonim

StringBuffer vs StringBuilder

karakterek sorozatát. A Java egy nagyon népszerű objektum orientált nyelv. A Java-ban a String-osztály biztosítja a karakterláncot, amelyet nem lehet módosítani (egyszer kezdve). Alternatív megoldásként a Java programozási nyelv kétféle változó karakterkészletet tartalmaz. Ez azt jelenti, hogy amikor a programozóknak módosítaniuk kell egy adott karakterláncot (az inicializálás után), a String osztály helyett a StringBuffer osztályt vagy a StringBuilder osztályt kell használniuk. A StringBuffer bevezetésre került a JDK 1. 0-ban és a StringBuilder osztályt a JDK 1. 5-ben vezették be, valójában a StringBuffer osztály helyett (egyszálas környezetek esetén).

Mi a StringBuffer?

A StringBuffer osztály a JDK 1. 0-ban került bevezetésre. A StringBuffer osztály a java-hoz tartozik. lang csomagot, és az általános java-ból örökölt. lang. tárgy. A programozók nem tudják tovább bővíteni, mivel ez egy végső osztály. A StringBuffer osztály végrehajtja a Serializable, Addable és CharSequience interfészeket. A StringBuffer osztály egy objektuma olyan karakterkészletet tartalmazhat, amely változó és szálas. Ez azt jelenti, hogy nagyon hasonló a String objektumhoz, de a karakterek sorrendje (hossz és tartalom) bármikor megváltoztatható a StringBuffer objektum inicializálása után. Ez azonban a StringBuffer osztály által biztosított speciális módszerek használatával történhet. A StringBuffer osztályban két elvi művelet létezik. Ezeket az append () és insert () metódusok biztosítják. Ezek a módszerek túlterheltek, így bármilyen típusú, például egész és hosszú adatokat fogadhatnak el. Mindkét módszer először átalakítja a bemeneteket egy karakterláncba, majd hozzáadja (hozzáfűzi vagy beilleszti) a megfelelő karakterlánc karaktereit a meglévő Stribbuffer objektumhoz. Az append () metódus az átalakított karakterláncot a meglévő StringBuffer objektum végéhez adja, míg a insert () metódus a bemeneti karaktereket adja hozzá a megadott beillesztési ponthoz.

Mi a StringBuilder?

A StringBuilder osztályt a JDK 1-ben vezették be. 5. A StringBuilder API nagyon hasonlít a StringBuffer API-hoz. Valójában a StringBuilder osztályt a StringBuffer osztály helyettesítette (egyszálas alkalmazásokhoz). A StringBuilder osztály a Java-hoz tartozik. lang csomagot, és az általános java-ból örökölt. lang. tárgy. Ez egy végső osztály, így a programozók nem tudják kiterjeszteni. A StringBuilder osztály végrehajtja a Serializable, Addable és CharSequience interfészeket. A StringBuilder osztály egyik objektuma olyan karakterkészletet tartalmazhat, amely változó, de nem szálas. Ez azt jelenti, hogy nagyon hasonló a String objektumhoz, de a karakterlánc bármikor megváltoztatható.De a StringBuilder osztály nem biztosít szinkronizálást, ezért azt állítják, hogy gyorsabb, mint a StringBuffer osztály használata. A StringBuilder osztály az append () és a insert () metódusokat pontosan ugyanolyan funkcionalitással látja el, mint a StringBuffer osztályban.

Mi a különbség a StringBuffer és a StringBuilder között?

Habár a StringBuilder és a StringBuffer osztályok használhatók Java karakterek változó szekvenciáihoz, kulcsfontosságú különbségük van. A StringBuffer osztálytól eltérően a StringBuilder osztály nem thread-safe, és nem biztosít szinkronizálást. Ezért javasoljuk, hogy a StringBuilder osztályt a StringBuffer osztály helyett használjuk egyszálú alkalmazásokban, mert azt állítják, hogy a StringBuilder osztály sokkal gyorsabb, mint a StringBuffer osztály (normál körülmények között).