Što je bolje StringBuffer ili StringBuilder?
Što je bolje StringBuffer ili StringBuilder?

Video: Što je bolje StringBuffer ili StringBuilder?

Video: Što je bolje StringBuffer ili StringBuilder?
Video: Конан Непобедимый Обзор [немецкий;многоязычные субтитры]Варварская стратегия реальном времени тесте 2024, Decembar
Anonim

String je nepromjenjiv StringBuffer i StringBuider su promjenjive klase. StringBuffer je siguran niti sinkroniziran dok StringBuilder nije, zato StringBuilder je brži od StringBuffer . String concat + operator interno koristi StringBuffer ili StringBuilder klasa.

Shodno tome, koji je bolji StringBuffer ili StringBuilder?

Kao rezultat, StringBuilder je brži od StringBuffer . StringBuffer je promjenjiv. Može se mijenjati u smislu dužine i sadržaja. StringBuffers su thread-safe, što znači da imaju sinkronizirane metode za kontrolu pristupa tako da samo jedan nit može pristupiti a StringBuffer sinkronizirani kod objekta odjednom.

Slično tome, zašto je StringBuffer sporiji od StringBuilder-a? Objekt kreiran kroz StringBuffer je pohranjen u hrpi. StringBuffer ima iste metode kao StringBuilder , ali svaka metoda u StringBuffer je sinhronizovano tj StringBuffer je siguran na niti. Dakle StringBuilder je brži nego the StringBuffer prilikom pozivanja istih metoda svake klase.

Dakle, koja je razlika između StringBuffer-a i StringBuilder-a?

StringBuilder . StringBuilder je isto što i StringBuffer , odnosno pohranjuje objekt u hrpu i također se može modificirati. Glavni razlika između the StringBuffer i StringBuilder je li to StringBuilder nije siguran niti. StringBuilder je brz jer nije siguran niti.

Kada trebam koristiti StringBuffer?

Ako se vrijednost objekta može promijeniti i pristupiće joj se samo iz jedne niti, koristiti a StringBuilder jer StringBuilder nije sinkroniziran. U slučaju da se vrijednost objekta može promijeniti, i da će biti modificirana od strane više niti, koristiti a StringBuffer jer StringBuffer je sinhronizovano.

Preporučuje se: