რომელია უკეთესი StringBuffer ან StringBuilder?
რომელია უკეთესი StringBuffer ან StringBuilder?

ვიდეო: რომელია უკეთესი StringBuffer ან StringBuilder?

ვიდეო: რომელია უკეთესი StringBuffer ან StringBuilder?
ვიდეო: #36 StringBuffer and StringBuilder in Java 2024, ნოემბერი
Anonim

სტრიქონი უცვლელია ხოლო StringBuffer და StringBuider არის ცვალებადი კლასები. StringBuffer არის ძაფით უსაფრთხო და სინქრონიზებული ხოლო StringBuilder არ არის, ამიტომ StringBuilder უფრო სწრაფია ვიდრე StringBuffer . სიმებიანი concat + ოპერატორი შიდა იყენებს StringBuffer ან StringBuilder კლასი.

შესაბამისად, რომელია უკეთესი StringBuffer თუ StringBuilder?

Როგორც შედეგი, StringBuilder უფრო სწრაფია ვიდრე StringBuffer . StringBuffer ცვალებადია. მას შეუძლია შეიცვალოს სიგრძისა და შინაარსის თვალსაზრისით. StringBuffers ისინი უსაფრთხოა ძაფისთვის, რაც იმას ნიშნავს, რომ მათ აქვთ სინქრონიზებული მეთოდები წვდომის გასაკონტროლებლად მხოლოდ ისე ერთი თემას შეუძლია წვდომა ა StringBuffer ობიექტის სინქრონიზებული კოდი ერთდროულად.

ანალოგიურად, რატომ არის StringBuffer უფრო ნელი ვიდრე StringBuilder? მეშვეობით შექმნილი ობიექტი StringBuffer ინახება გროვაში. StringBuffer აქვს იგივე მეთოდები, რაც StringBuilder , მაგრამ ყოველი მეთოდი StringBuffer სინქრონიზებულია ანუ StringBuffer არის ძაფი უსაფრთხო. ამგვარად StringBuilder უფრო სწრაფია ვიდრე The StringBuffer თითოეული კლასის ერთი და იგივე მეთოდების გამოძახებისას.

აქედან, რა განსხვავებაა StringBuffer-სა და StringBuilder-ს შორის?

StringBuilder . StringBuilder იგივეა რაც StringBuffer , ანუ ის ინახავს ობიექტს გროვად და მისი შეცვლაც შესაძლებელია. Მთავარი შორის განსხვავება The StringBuffer და StringBuilder არის ის StringBuilder არ არის ძაფით უსაფრთხო. StringBuilder არის სწრაფი, რადგან არ არის ძაფებზე უსაფრთხო.

როდის უნდა გამოვიყენო StringBuffer?

თუ ობიექტის მნიშვნელობა შეიძლება შეიცვალოს და მისი წვდომა მხოლოდ ერთი ძაფიდან იქნება შესაძლებელი, გამოყენება StringBuilder, რადგან StringBuilder არ არის სინქრონიზებული. იმ შემთხვევაში, თუ ობიექტის მნიშვნელობა შეიძლება შეიცვალოს და შეიცვალოს მრავალი ძაფით, გამოყენება ა StringBuffer რადგან StringBuffer სინქრონიზებულია.

გირჩევთ: