Java тіліндегі StringBuffer және StringBuilder арасындағы айырмашылық

Мазмұны:

Java тіліндегі StringBuffer және StringBuilder арасындағы айырмашылық
Java тіліндегі StringBuffer және StringBuilder арасындағы айырмашылық

Бейне: Java тіліндегі StringBuffer және StringBuilder арасындағы айырмашылық

Бейне: Java тіліндегі StringBuffer және StringBuilder арасындағы айырмашылық
Бейне: Капарова Л.Е. Java-програ-тілі-11-дәріс. 2024, Қараша
Anonim

Негізгі айырмашылық – Java тіліндегі String және StringBuffer және StringBuilder

String, StringBuffer және String Builder Java тіліндегі сыныптар. String Java бағдарламалауда кеңінен қолданылады. String нысаны жасалғаннан кейін оларды өзгерту мүмкін емес. Жолға өзгеріс болған сайын ол жаңа Жолды жасайды. Ол бұрыннан бар Жолға біріктіру болса да, ол жаңа Жолды жасайды. Бұл жадтың жоғалуына әкеледі. Java тіліндегі StringBuffer және StringBuilder сыныптары String параметрін өзгерту үшін пайдаланылады. Java тіліндегі String, StringBuffer және StringBuilder арасындағы негізгі айырмашылық мынада: String - бұл таңбалар тізбегі болып табылатын String типті нысанды жасауға арналған сынып, StringBuffer - ағынның қауіпсіздігін қамтамасыз ететін жолдарды өзгерту үшін қолданылатын класс және StringBuilder - бұл жіп қауіпсіздігін қамтамасыз етпейтін жолдарды өзгерту үшін пайдаланылатын сынып.

Java тіліндегі String дегеніміз не?

String класы java.lang бумасында. Бағдарламашы Жолды жасаған сайын ол String типті объект болып табылады. Жолдар нысан жасалғаннан кейін өзгермейтін мағынаға ие, оны өзгерту мүмкін емес. Integer, Byte, Float, Double сияқты орауыш сыныптары арқылы жасалған нысандар да өзгермейді. Жолдың литералы қос тырнақшаға алынады. мысалы «Сәлем Әлем». Жолдың литералы жасалған сайын Java виртуалды машинасы (JVM) Жол тұрақты пулын тексереді. Жол бар болса, String тұрақты пулына сілтеме қайтарылады. Егер бұл жаңа Жол болса, бұл нысан String тұрақты пулында жасалады.

Java тіліндегі String StringBuffer және StringBuilder арасындағы айырмашылық
Java тіліндегі String StringBuffer және StringBuilder арасындағы айырмашылық
Java тіліндегі String StringBuffer және StringBuilder арасындағы айырмашылық
Java тіліндегі String StringBuffer және StringBuilder арасындағы айырмашылық

01-сурет: String, StringBuffer және StringBuilder көмегімен Java бағдарламасы

Төмендегі код бөлігін қараңыз.

String s1="Сәлем";

s1=s1 + "Әлем";

System.out.println(s1);

Бірінші мәлімдемеде s1 Жол тұрақты пулындағы "Сәлеметсіз бе" дегенге сілтеме жасайды. Екінші мәлімдемеде JVM бар жолды өзгертпейді. Оның орнына ол «Сәлем әлем» ретінде жаңа жолды жасайды және s1 енді сол жаңа жолға сілтеме жасайды. Шығу "Hello" нысаны String тұрақты пулында әлі бар.

Егер код болса, String s1="Сәлеметсіз бе";

Жол s2=s1;

s1, s2 екеуі де "Hello" жол нысанына сілтеме жасайды.

Java тіліндегі StringBuffer дегеніміз не?

StringBuffer сыныбы String нысандарын өзгермелі ету үшін пайдаланылады. Сондықтан бұл нысандарды өзгертуге болады. StringBuffer төрт конструкторды анықтайды. StringBuffer(), StringBuffer(int өлшемі), StringBuffer(String str), StringBuffer (charSequence ch)

Төмендегі кодты қараңыз, StringBuffer s1=жаңа StringBuffer («Сәлеметсіз бе»);

s1.append("Әлем");

System.out.println(s1);

1-мәлімдемеде s1 үймедегі "Hello" нысанына сілтеме жасайды. Нысан өзгермелі, себебі ол StringBuffer көмегімен жасалған. 2-мәлімдемеде "Әлем" бірдей "Hello" String нысанына қосылған.

StringBuffer сыныбымен жасалған жол нысандары жадты сақтай алады. StringBuffer ағынның қауіпсіздігін қамтамасыз етеді, себебі екі ағын StringBuffer сыныбында бір әдіске бір уақытта қол жеткізе алмайды. Жіп қауіпсіздігі StringBuffer өнімділігін төмендетеді. StringBuffer класында append(), insert(), reverse(), replace() сияқты әдістер бар.

Java тіліндегі StringBuilder дегеніміз не?

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 нысанына қосылады. Толығымен жаңа String нысанын жасау жоқ.

StringBuilder сыныбымен жасалған жол нысандары жадты сақтай алады. StringBuffer-тен айырмашылығы, StringBuilder ағынның қауіпсіздігін қамтамасыз етпейді, себебі екі ағын StringBuilder сыныбында бір әдіске бір уақытта қол жеткізе алады. StringBuilder класында append(), insert(), reverse(), replace() сияқты әдістер бар.

Java тіліндегі String, StringBuffer және StringBuilder арасындағы ұқсастық қандай?

Барлығын Жолдарды жасау үшін пайдалануға болады

Java тіліндегі StringBuffer және StringBuilder арасындағы айырмашылық неде?

String және StringBuffer және StringBuilder

Жол Жол – таңбалар тізбегі болып табылатын String түріндегі нысанды жасау үшін пайдаланылатын Java сыныбы.
StringBuffer StringBuffer – ағын қауіпсіздігімен өзгертуге болатын String нысандарын жасау үшін пайдаланылатын Java класы.
StringBuilder StringBuilder – ағын қауіпсіздігінсіз өзгертуге болатын жол нысандарын жасау үшін пайдаланылатын класс.
Өзгергіштік
Жол Жол өзгермейтін класс.
StringBuffer StringBuffer – өзгермелі класс.
StringBuilder StringBuilder - өзгермелі класс.
Жіп қауіпсіздігі
Жол Жол әдістері ағынға қауіпсіз.
StringBuffer StringBuffer әдістері ағынға қауіпсіз және синхрондалған.
StringBuilder StringBuilder әдістері ағынды қауіпсіз емес және синхрондалмаған.
Өнімділік
Жол Жол жылдам.
StringBuffer StringBuffer баяу.
StringBuilder StringBuilder жылдам.

Қорытынды – Java тіліндегі String және StringBuffer және StringBuilder

String, StringBuffer және StringBuilder бірдей болып көрінеді, бірақ олардың мағыналары әртүрлі. Бұлардың барлығы Java сыныптары. Java тіліндегі String, StringBuffer және StringBuilder арасындағы айырмашылық мынада: String - таңбалар жиыны болып табылатын String типті нысанды жасауға арналған класс, StringBuffer - Жолдарды өзгерту және ағынның қауіпсіздігін қамтамасыз ету үшін қолданылатын класс, ал StringBuilder жіп қауіпсіздігін қамтамасыз етпейтін Жолдарды өзгерту үшін пайдаланылатын класс.

Java тіліндегі PDF String және StringBuffer және StringBuilder нұсқасын жүктеп алыңыз

Сіз осы мақаланың PDF нұсқасын жүктеп алып, сілтеме жазбасына сәйкес офлайн мақсаттарда пайдалана аласыз. PDF нұсқасын мына жерден жүктеп алыңыз: Java тіліндегі StringBuffer және StringBuilder арасындағы айырмашылық

Ұсынылған: