Melyik a jobb StringBuffer vagy StringBuilder?
Melyik a jobb StringBuffer vagy StringBuilder?

Videó: Melyik a jobb StringBuffer vagy StringBuilder?

Videó: Melyik a jobb StringBuffer vagy StringBuilder?
Videó: Java Array és ArrayList/Java tömbök és listák – Java tutorial magyarul – CodeBerry Programozóiskola 2024, November
Anonim

A húr megváltoztathatatlan, míg StringBuffer és a StringBuider változtatható osztályok. StringBuffer cérnabiztos és szinkronizált, míg StringBuilder nem, ezért StringBuilder gyorsabb mint StringBuffer . String concat + operátor belsőleg használja StringBuffer vagy StringBuilder osztály.

Ennek megfelelően melyik a jobb StringBuffer vagy StringBuilder?

Ennek eredményeként StringBuilder gyorsabb mint StringBuffer . StringBuffer változtatható. A hossz és a tartalom tekintetében változhat. StringBuffers szálbiztosak, ami azt jelenti, hogy szinkronizált módszerekkel szabályozzák a hozzáférést úgy, hogy csak egy szál elérheti a StringBuffer az objektum szinkronizált kódja egyszerre.

Hasonlóképpen, miért lassabb a StringBuffer, mint a StringBuilder? Az általa létrehozott objektum StringBuffer a kupacban van tárolva. StringBuffer ugyanazokkal a módszerekkel rendelkezik, mint a StringBuilder , de minden módszer a StringBuffer szinkronizálva van, vagyis StringBuffer cérnabiztos. És így StringBuilder gyorsabb mint az StringBuffer az egyes osztályok ugyanazon metódusainak meghívásakor.

Ebből kifolyólag mi a különbség a StringBuffer és a StringBuilder között?

StringBuilder . StringBuilder megegyezik a StringBuffer , azaz kupacban tárolja az objektumot és módosítható is. A fő a különbség köztük az StringBuffer és StringBuilder az, hogy a StringBuilder nem cérnabiztos. StringBuilder gyors, mivel nem szálbiztos.

Mikor használjam a StringBuffert?

Ha az objektum értéke változhat, és csak egyetlen szálból lesz elérhető, használat egy StringBuilder, mert a StringBuilder nincs szinkronizálva. Ha az objektum értéke változhat, és több szál is módosítani fogja, használat a StringBuffer mivel StringBuffer szinkronizálva van.

Ajánlott: