Hansı daha yaxşıdır StringBuffer və ya StringBuilder?
Hansı daha yaxşıdır StringBuffer və ya StringBuilder?

Video: Hansı daha yaxşıdır StringBuffer və ya StringBuilder?

Video: Hansı daha yaxşıdır StringBuffer və ya StringBuilder?
Video: CS50 2015 - Week 5 2024, Noyabr
Anonim

Sətir dəyişməzdir, halbuki StringBuffer və StringBuider dəyişən siniflərdir. StringBuffer mövzu təhlükəsizdir və sinxronlaşdırılmışdır StringBuilder deyil, ona görə də StringBuilder -dən daha sürətlidir StringBuffer . String concat + operator daxili istifadə edir StringBuffer və ya StringBuilder sinif.

Müvafiq olaraq, hansı daha yaxşıdır StringBuffer və ya StringBuilder?

Nəticədə, StringBuilder -dən daha sürətlidir StringBuffer . StringBuffer dəyişkəndir. Uzunluğu və məzmunu baxımından dəyişə bilər. StringBuferlər mövzu üçün təhlükəsizdir, yəni girişi idarə etmək üçün sinxronlaşdırılmış metodlara malikdir, belə ki, yalnız bir mövzu daxil ola bilər a StringBuffer eyni anda obyektin sinxronlaşdırılmış kodu.

Eynilə, niyə StringBuffer StringBuilder-dən daha yavaşdır? vasitəsilə yaradılmış obyekt StringBuffer yığında saxlanılır. StringBuffer ilə eyni üsullara malikdir StringBuilder , lakin hər bir üsul StringBuffer sinxronlaşdırılır, yəni StringBuffer iplik təhlükəsizdir. Beləliklə StringBuilder daha sürətlidir - dən the StringBuffer hər bir sinfin eyni metodlarını çağırarkən.

Beləliklə, StringBuffer və StringBuilder arasındakı fərq nədir?

StringBuilder . StringBuilder ilə eynidir StringBuffer , yəni obyekti yığında saxlayır və onu da dəyişdirmək olar. Əsas aralarındakı fərq the StringBuffer və StringBuilder Odur StringBuilder iplik təhlükəsiz deyil. StringBuilder iplik təhlükəsiz olmadığı üçün sürətlidir.

StringBuffer-dən nə vaxt istifadə etməliyəm?

Obyekt dəyəri dəyişə bilərsə və ona yalnız bir başlıqdan daxil olmaq olarsa, istifadə edin StringBuilder, çünki StringBuilder sinxronlaşdırılmayıb. Obyekt dəyəri dəyişə bilər və birdən çox mövzu ilə dəyişdirilərsə, istifadə edin a StringBuffer çünki StringBuffer sinxronlaşdırılır.

Tövsiyə: