სხვაობა String StringBuffer-სა და StringBuilder-ს შორის Java-ში

Სარჩევი:

სხვაობა String StringBuffer-სა და StringBuilder-ს შორის Java-ში
სხვაობა String StringBuffer-სა და StringBuilder-ს შორის Java-ში

ვიდეო: სხვაობა String StringBuffer-სა და StringBuilder-ს შორის Java-ში

ვიდეო: სხვაობა String StringBuffer-სა და StringBuilder-ს შორის Java-ში
ვიდეო: Tricky Interview Question | Difference between String, StringBuffer and StringBuilder in Java 2024, ნოემბერი
Anonim

ძირითადი განსხვავება – String vs StringBuffer vs StringBuilder Java-ში

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

რა არის სტრიქონი ჯავაში?

სტრიქონის კლასი არის java.lang პაკეტში. ყოველ ჯერზე, როცა პროგრამისტი ქმნის სტრიქონს, ის არის String ტიპის ობიექტი. სტრიქონები უცვლელი მნიშვნელობისაა, როგორც კი შეიქმნება ობიექტი, მისი შეცვლა შეუძლებელია. შეფუთვის კლასების გამოყენებით შექმნილი ობიექტები, როგორიცაა Integer, Byte, Float, Double, ასევე შეუცვლელია. სტრიქონი ლიტერალი ჩასმულია ორმაგ ბრჭყალებში. მაგალითად. "Გამარჯობა მსოფლიო". ყოველ ჯერზე, როდესაც სტრიქონი იქმნება, ჯავის ვირტუალური მანქანა (JVM) ამოწმებს სტრიქონის მუდმივ აუზს. თუ სტრიქონი არსებობს, მითითება სტრიქონის მუდმივ აუზზე ბრუნდება. თუ ეს არის ახალი სტრიქონი, ეს ობიექტი იქმნება სტრიქონის მუდმივ აუზში.

სხვაობა String StringBuffer-სა და StringBuilder-ს შორის Java-ში
სხვაობა String StringBuffer-სა და StringBuilder-ს შორის Java-ში
სხვაობა String StringBuffer-სა და StringBuilder-ს შორის Java-ში
სხვაობა String StringBuffer-სა და StringBuilder-ს შორის Java-ში

სურათი 01: Java პროგრამა String-ის, StringBuffer-ისა და StringBuilder-ის გამოყენებით

იხილეთ კოდის ქვემოთ მოცემული ნაწილი.

String s1="გამარჯობა";

s1=s1 + „მსოფლიო“;

System.out.println(s1);

პირველ დებულებაში, s1 გულისხმობს "Hello"-ს სიმებიანი მუდმივი აუზში. მეორე განცხადებაში JVM არ ცვლის არსებულ სტრიქონს. ამის ნაცვლად, ის ქმნის ახალ სტრიქონს, როგორც "Hello World" და s1 ახლა გულისხმობს ამ ახალ სტრიქონს. გასასვლელი "Hello" ობიექტი ჯერ კიდევ არსებობს სიმებიანი მუდმივი აუზში.

თუ არის კოდი, რომელიც არის, String s1="გამარჯობა";

სტრიქონი s2=s1;

s1, s2 ორივე მიუთითებს სიმებიანი ობიექტზე "Hello".

რა არის StringBuffer ჯავაში?

StringBuffer კლასი გამოიყენება String ობიექტების ცვალებადი გასაკეთებლად. ამიტომ, ეს ობიექტები შეიძლება შეიცვალოს. StringBuffer განსაზღვრავს ოთხ კონსტრუქტორს. StringBuffer(), StringBuffer(int size), StringBuffer(String str), StringBuffer (charsequence ch)

იხილეთ კოდი ქვემოთ, StringBuffer s1=ახალი StringBuffer(„გამარჯობა“);

s1.append("მსოფლიო");

System.out.println(s1);

1-ლ წინადადებაში s1 მიუთითებს გროვად "Hello" ობიექტზე. ობიექტი ცვალებადია, რადგან ის იქმნება StringBuffer-ის გამოყენებით. მე-2 განცხადებაში „მსოფლიო“დართულია იმავე „Hello“სტრიქონის ობიექტს.

StringBuffer კლასით შექმნილ ობიექტებს შეუძლიათ მეხსიერების დაზოგვა. StringBuffer უზრუნველყოფს ძაფების უსაფრთხოებას, რადგან ორ ძაფს არ შეუძლია ერთდროულად წვდომა იმავე მეთოდზე StringBuffer კლასში. ძაფების უსაფრთხოება ამცირებს StringBuffer-ის მუშაობას. StringBuffer კლასი შეიცავს მეთოდებს, როგორიცაა append(), insert(), reverse(), replace().

რა არის StringBuilder Java-ში?

StringBuilder კლასი გამოიყენება String ობიექტების ცვალებადი გასაკეთებლად. ამიტომ, ეს ობიექტები შეიძლება შეიცვალოს. ფუნქციონირება StringBuffer-ის მსგავსია, მაგრამ ეს არ უზრუნველყოფს ძაფების უსაფრთხოებას. StringBuilder-ს ჰყავს კონსტრუქტორები, როგორიცაა StringBuilder(), StringBuilder(int size), StringBuilder(String str).

იხილეთ ქვემოთ მოცემული კოდი.

StringBuilder s1=ახალი StringBuilder(„გამარჯობა“);

s1.append("მსოფლიო");

System.out.println(s1);

1-ლ წინადადებაში s1 მიუთითებს გროვად "Hello" ობიექტზე. ობიექტი ცვალებადია, რადგან ის იქმნება StringBuilder-ის გამოყენებით. მე-2 განცხადებაში „მსოფლიო“დართულია იმავე „Hello“სტრიქონის ობიექტს. არ არსებობს სრულიად ახალი String ობიექტის შექმნა.

StringBuilder კლასით შექმნილ ობიექტებს შეუძლიათ მეხსიერების დაზოგვა. StringBuffer-ისგან განსხვავებით, StringBuilder არ უზრუნველყოფს ძაფების უსაფრთხოებას, რადგან ორ ძაფს შეუძლია ერთდროულად წვდომა იმავე მეთოდზე StringBuilder კლასში. StringBuilder კლასი შეიცავს მეთოდებს, როგორიცაა append(), insert(), reverse(), replace().

რა მსგავსებაა String-ს, StringBuffer-სა და StringBuilder-ს შორის Java-ში?

ყველა შეიძლება გამოყენებულ იქნას სტრიქონების შესაქმნელად

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

String vs StringBuffer vs StringBuilder

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

რეზიუმე – String vs StringBuffer vs StringBuilder Java-ში

String, StringBuffer და StringBuilder, როგორც ჩანს, იგივეა, მაგრამ მათ განსხვავებული მნიშვნელობა აქვთ. ეს ყველაფერი ჯავის კლასებია. განსხვავება String-ს, StringBuffer-სა და StringBuilder-ს შორის Java-ში არის ის, რომ String არის კლასი String ტიპის ობიექტის შესაქმნელად, რომელიც არის სიმბოლოების ნაკრები, StringBuffer არის კლასი, რომელიც გამოიყენება სტრიქონების შესაცვლელად და ძაფების უსაფრთხოების უზრუნველსაყოფად, ხოლო StringBuilder არის კლასი, რომელიც გამოიყენება სტრიქონების შესაცვლელად, რომელიც არ უზრუნველყოფს ძაფების უსაფრთხოებას.

ჩამოტვირთეთ PDF String vs StringBuffer vs StringBuilder Java-ში

შეგიძლიათ ჩამოტვირთოთ ამ სტატიის PDF ვერსია და გამოიყენოთ იგი ოფლაინ მიზნებისთვის ციტირების შენიშვნის მიხედვით. გთხოვთ ჩამოტვირთოთ PDF ვერსია აქ სხვაობა String StringBuffer-სა და StringBuilder-ს შორის Java-ში

გირჩევთ: