Š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, Svibanj
Anonim

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

Sukladno tome, koji je bolji StringBuffer ili StringBuilder?

Kao rezultat, StringBuilder je brži od StringBuffer . StringBuffer je promjenjiv. Može se mijenjati u smislu duljine i sadržaja. StringBuffers su sigurni niti, š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 StringBuildera? Objekt stvoren kroz StringBuffer je pohranjena u hrpi. StringBuffer ima iste metode kao StringBuilder , ali svaka metoda u StringBuffer je sinkroniziran tj StringBuffer je siguran niti. Tako StringBuilder je brže od the StringBuffer prilikom pozivanja istih metoda svake klase.

Stoga, koja je razlika između StringBuffera i StringBuildera?

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

Kada trebam koristiti StringBuffer?

Ako se vrijednost Objekta može promijeniti i pristupit ć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 bit će izmijenjena od strane više niti, koristiti a StringBuffer jer StringBuffer je sinkronizirana.

Preporučeni: