Razlika Između StringBuffer I StringBuilder

Razlika Između StringBuffer I StringBuilder
Razlika Između StringBuffer I StringBuilder

Video: Razlika Između StringBuffer I StringBuilder

Video: Razlika Između StringBuffer I StringBuilder
Video: Žemljača - pecivo iz starega kruha 2024, Studeni
Anonim

StringBuffer vs StringBuilder

Java je vrlo popularan objektno orijentirani jezik. U Javi je klasa String predviđena da sadrži niz znakova koji se ne mogu mijenjati (nakon inicijalizacije). Alternativno, programski jezik Java nudi dvije vrste promjenjivih sekvenci znakova. Odnosno, kada programeri trebaju modificirati određeni String (nakon inicijalizacije), umjesto klase String trebaju koristiti klasu StringBuffer ili klasu StringBuilder. StringBuffer je uveden u JDK 1.0, a klasa StringBuilder uvedena je u JDK 1.5, zapravo kao zamjena za StringBuffer klasu (za okruženja s jednim niti).

Što je StringBuffer?

Klasa StringBuffer uvedena je u JDK 1.0. Klasa StringBuffer pripada paketu java.lang i nasljeđuje se od generičkog objekta java.lang.object. Programeri ga ne mogu dalje proširiti jer je to završna klasa. Klasa StringBuffer implementira sučelja koja se mogu serirati, dodati i CharSequience. Objekt klase StringBuffer može sadržavati slijed znakova koji je promjenjiv i siguran u niti. To znači da je vrlo sličan String objektu, ali slijed znakova (duljina i sadržaj) može se promijeniti u bilo kojem trenutku nakon inicijalizacije StringBuffer objekta. Međutim, to bi trebalo učiniti pomoću specifičnih metoda koje nudi klasa StringBuffer. Postoje dvije osnovne operacije u klasi StringBuffer. Pružaju se metodama append () i insert (). Ove su metode preopterećene,pa su u stanju prihvatiti podatke bilo koje vrste kao što su cjelobrojni i dugi. Obje metode prvo transformiraju bilo koji ulaz u niz, a zatim dodaju (dodaju ili ubacuju) znakove odgovarajućeg niza u postojeći Stribbuffer objekt. Metoda append () dodaje pretvoreni niz na kraj postojećeg StringBuffer objekta, dok će metoda insert () dodati ulazne znakove u navedenu točku umetanja.

Što je StringBuilder?

Klasa StringBuilder uvedena je u JDK 1.5. StringBuilder API vrlo je sličan StringBuffer API-ju. Zapravo je klasa StringBuilder zapravo uvedena kao zamjena za klasu StringBuffer (za aplikacije s jednim niti). Klasa StringBuilder pripada paketu java.lang i nasljeđuje se od generičkog objekta java.lang.object. To je završna klasa pa je programeri ne mogu produžiti. Klasa StringBuilder implementira sučelja koja se mogu serirati, dodati i CharSequience. Objekt klase StringBuilder može sadržavati slijed znakova koji je promjenjiv, ali nije siguran u niti. To znači da je vrlo sličan String objektu, ali niz se može promijeniti u bilo kojem trenutku. Ali klasa StringBuilder ne pruža sinkronizaciju i stoga se tvrdi da je brža od upotrebe klase StringBuffer. Klasa StringBuilder pruža metode append () i insert () s potpuno sličnim funkcijama kao u klasi StringBuffer.

Koja je razlika između StringBuffer i StringBuilder?

Iako se klase StringBuilder i StringBuffer mogu koristiti za promjenjive sekvence znakova u Javi, one imaju ključnu razliku. Za razliku od klase StringBuffer, klasa StringBuilder nije sigurna u niti i ne pruža sinkronizaciju. Stoga se preporučuje da se klasa StringBuilder koristi umjesto klase StringBuffer u aplikacijama s jednim niti, jer se tvrdi da će klasa StringBuilder biti puno brža od klase StringBuffer (u normalnim okolnostima).

Preporučeno: