Java-da String StringBuffer və StringBuilder Arasındakı Fərq

Mündəricat:

Java-da String StringBuffer və StringBuilder Arasındakı Fərq
Java-da String StringBuffer və StringBuilder Arasındakı Fərq

Video: Java-da String StringBuffer və StringBuilder Arasındakı Fərq

Video: Java-da String StringBuffer və StringBuilder Arasındakı Fərq
Video: Java dərsləri - String , String pool nədir? StringBuffer , StringBuilder haqqında 2024, Dekabr
Anonim

Əsas fərq – Java-da String vs StringBuffer vs StringBuilder

String, StringBuffer və String Builder Java-da siniflərdir. String Java proqramlaşdırmasında geniş istifadə olunur. String obyekti yaradıldıqdan sonra onları dəyişdirmək mümkün deyil. Sətirdə hər dəfə dəyişiklik baş verdikdə, o, yeni Sətir yaradır. Mövcud String üçün birləşmə olsa belə, o, yeni String yaradır. Bu yaddaş itkisinə səbəb olur. String-i dəyişdirmək üçün Java-da StringBuffer və StringBuilder sinifləri istifadə olunur. Java-da String, StringBuffer və StringBuilder arasındakı əsas fərq ondan ibarətdir ki, String simvollar ardıcıllığı olan String tipli obyekt yaratmaq üçün sinifdir, StringBuffer mövzu təhlükəsizliyini təmin edən Stringləri dəyişdirmək üçün istifadə olunan bir sinifdir və StringBuilder bir sinifdir. iplik təhlükəsizliyini təmin etməyən sətirləri dəyişdirmək üçün istifadə olunan sinif.

Java-da String nədir?

String sinfi java.lang paketindədir. Proqramçı hər dəfə String yaratdıqda o, String tipli obyektdir. Sətirlər obyekt yaradıldıqdan sonra dəyişməz məna daşıyır, onu dəyişdirmək mümkün deyil. Integer, Byte, Float, Double kimi sarğı siniflərindən istifadə etməklə yaradılmış obyektlər də dəyişməzdir. Sətir hərfi ikiqat dırnaq içərisindədir. məs. "Salam Dünya". Hər dəfə sətir hərfi yaradılanda Java Virtual Maşın (JVM) String sabit hovuzunu yoxlayır. Sətir mövcuddursa, String sabit hovuzuna istinad qaytarılır. Əgər bu yeni Stringdirsə, həmin obyekt String sabit hovuzunda yaradılır.

Java-da String StringBuffer və StringBuilder arasındakı fərq
Java-da String StringBuffer və StringBuilder arasındakı fərq
Java-da String StringBuffer və StringBuilder arasındakı fərq
Java-da String StringBuffer və StringBuilder arasındakı fərq

Şəkil 01: String, StringBuffer və StringBuilder istifadə edən Java proqramı

Aşağıdakı kod parçasına baxın.

String s1="Salam";

s1=s1 + "Dünya";

System.out.println(s1);

Birinci ifadədə s1 Simli sabit hovuzdakı “Salam”a istinad edir. İkinci ifadədə JVM mövcud Stringi dəyişmir. Bunun əvəzinə "Salam Dünya" kimi yeni Sətir yaradır və s1 indi həmin yeni Stringə istinad edir. Çıxan "Salam" obyekti hələ də String sabit hovuzunda mövcuddur.

Əgər kod varsa, String s1="Salam";

String s2=s1;

s1, s2 hər ikisi "Salam" Simli obyektinə istinad edəcək.

Java-da StringBuffer nədir?

StringBuffer sinfi String obyektlərini dəyişkən etmək üçün istifadə olunur. Beləliklə, həmin obyektlər dəyişdirilə bilər. StringBuffer dörd konstruktor müəyyən edir. StringBuffer(), StringBuffer(int ölçüsü), StringBuffer(String str), StringBuffer (charSequence ch)

Aşağıdakı koda baxın, StringBuffer s1=yeni StringBuffer("Salam");

s1.append("Dünya");

System.out.println(s1);

1-ci ifadədə s1 yığındakı “Salam” obyektinə istinad edir. Obyekt dəyişkəndir, çünki o, StringBuffer istifadə edərək yaradılmışdır. 2-ci ifadədə "Dünya" eyni "Salam" Sətir obyektinə əlavə edilmişdir.

StringBuffer sinfi ilə yaradılmış sətir obyektləri yaddaşa qənaət edə bilər. StringBuffer mövzu təhlükəsizliyini təmin edir, çünki iki başlıq eyni vaxtda StringBuffer sinfində eyni metoda daxil ola bilmir. Mövzu təhlükəsizliyi StringBuffer performansını azaldır. StringBuffer sinfi append(), insert(), reverse(), replace() kimi metodları ehtiva edir.

Java-da StringBuilder nədir?

StringBuilder sinfi String obyektlərini dəyişkən etmək üçün istifadə olunur. Beləliklə, həmin obyektlər dəyişdirilə bilər. Funksionallıq StringBuffer-ə bənzəyir, lakin bu, mövzu təhlükəsizliyini təmin etmir. StringBuilder-də StringBuilder(), StringBuilder(int size), StringBuilder(String str) kimi konstruktorlar var.

Aşağıdakı koda baxın.

StringBuilder s1=yeni StringBuilder("Salam");

s1.append("Dünya");

System.out.println(s1);

1-ci ifadədə s1 yığındakı “Salam” obyektinə istinad edir. Obyekt dəyişkəndir, çünki o, StringBuilder istifadə edərək yaradılmışdır. 2-ci ifadədə "Dünya" eyni "Salam" String obyektinə əlavə olunur. Tamamilə yeni String obyektinin yaradılması yoxdur.

StringBuilder sinfi ilə yaradılmış sətir obyektləri yaddaşa qənaət edə bilər. StringBuffer-dən fərqli olaraq, StringBuilder mövzu təhlükəsizliyini təmin etmir, çünki iki ip eyni vaxtda StringBuilder sinfində eyni metoda daxil ola bilir. StringBuilder sinfində append(), insert(), reverse(), replace() kimi metodlar var.

Java-da String, StringBuffer və StringBuilder arasındakı oxşarlıq nədir?

Hamısı Simlər yaratmaq üçün istifadə edilə bilər

Java-da String StringBuffer və StringBuilder arasındakı fərq nədir?

String vs StringBuffer vs StringBuilder

String Str simvollar ardıcıllığı olan String tipli obyekt yaratmaq üçün istifadə edilən Java sinfidir.
StringBufer StringBuffer, ip təhlükəsizliyi ilə dəyişdirilə bilən String obyektləri yaratmaq üçün istifadə edilən Java sinfidir.
StringBuilder StringBuilder iplik təhlükəsizliyi olmadan dəyişdirilə bilən simli obyektlər yaratmaq üçün istifadə edilən sinifdir.
Dəyişkənlik
String Str dəyişməz sinifdir.
StringBufer StringBuffer dəyişən sinifdir.
StringBuilder StringBuilder dəyişən sinifdir.
İp Təhlükəsizliyi
String String Metodları iplik təhlükəsizdir.
StringBufer StringBuffer Metodları mövzu üçün təhlükəsizdir və sinxronlaşdırılır.
StringBuilder StringBuilder metodları təhlükəsiz deyil və sinxronlaşdırılmayıb.
Performans
String Səmt sürətlidir.
StringBufer StringBufer yavaşdır.
StringBuilder StringBuilder sürətlidir.

Xülasə – Java-da String vs StringBuffer vs StringBuilder

String, StringBuffer və StringBuilder eyni görünür, lakin onların fərqli mənaları var. Bütün bunlar Java sinifləridir. Java-da String, StringBuffer və StringBuilder arasındakı fərq ondan ibarətdir ki, String simvollar dəsti olan String tipli obyekt yaratmaq üçün sinifdir, StringBuffer isə Stringləri dəyişdirmək və mövzu təhlükəsizliyini təmin etmək üçün istifadə olunan sinifdir, StringBuilder isə iplik təhlükəsizliyini təmin etməyən Sətirləri dəyişdirmək üçün istifadə edilən sinif.

PDF String vs StringBuffer vs StringBuilder-i Java-da endirin

Bu məqalənin PDF versiyasını yükləyə və sitat qeydinə əsasən onu oflayn məqsədlər üçün istifadə edə bilərsiniz. Zəhmət olmasa PDF versiyasını buradan yükləyin Java-da String StringBuffer və StringBuilder arasındakı fərq

Tövsiyə: