ההבדל בין StringBuffer ו StringBuilder

Anonim

StringBuffer לעומת StringBuilder

Java היא שפת מונחה עצמים מאוד פופולארית. ב- Java, מחרוזת מחרוזת מסופקת כדי להחזיק רצף של תווים שלא ניתן לשנותם (לאחר האתחול). לחלופין, שפת התכנות Java מספקת שני סוגים של רצפים משתנים של תווים. כלומר, כאשר מתכנתים צריכים לשנות מחרוזת מסוימת (לאחר האתחול), הם צריכים להשתמש בכיתה StringBuffer או בכיתה StringBuilder, במקום מחרוזת מחרוזת. StringBuffer הוצג JDK 1. 0 ו StringBuilder הכיתה הוצג JDK 1. 5, למעשה כתחליף בכיתה StringBuffer (עבור סביבות חוט יחיד).

-> ->

מה זה StringBuffer?

מחלקה StringBuffer הוצג JDK 1. 0. מחלקה StringBuffer שייך ג 'אווה. lang חבילת והוא בירושה מן ג 'אווה כללי. לאנג. לְהִתְנַגֵד. מתכנתים לא יכולים להרחיב את זה עוד כי זה מעמד סופי. מחלקה StringBuffer מיישמת Serializable, Appendable ו CharSequience ממשקים. אובייקט של מחרוזת בכיתה StringBuffer יכול להחזיק רצף של תווים, כי הוא mutable ו פתיל בטוח. כלומר, זה מאוד דומה אובייקט מחרוזת, אבל רצף של תווים (אורך ותוכן) ניתן לשנות בכל עת לאחר אתחול האובייקט StringBuffer. עם זאת, זה צריך להיעשות באמצעות שיטות ספציפיות המסופקים על ידי מחלקה StringBuffer. ישנן שתי פעולות עיקריות בכיתה StringBuffer. הן מסופקות על-ידי שיטות הוספה () ו- insert (). שיטות אלה עומס יתר על המידה, ולכן הם מסוגלים לקבל נתונים מכל סוג כגון מספר שלם וארוך. שתי השיטות הראשונות להפוך כל קלט למחרוזת, ולאחר מכן מוסיף (מוסיף או מוסיף) את התווים של המחרוזת המתאימה לאובייקט Stribbuffer הקיים. שיטת הוספה () מוסיפה את המחרוזת שהומרה לסוף האובייקט StringBuffer הקיים, ואילו שיטת הכנס () תוסיף את תווי הקלט לנקודת ההוספה שצוינה.

-> ->

מה זה StringBuilder?

בכיתה StringBuilder הוצג JDK 1. 5. StringBuilder API דומה מאוד API StringBuffer. למעשה, בכיתה StringBuilder הוצג למעשה כתחליף בכיתה StringBuffer (עבור יישומים פתיל יחיד). מחלקה StringBuilder שייך ג 'אווה. lang חבילת והוא בירושה מן ג 'אווה כללי. לאנג. לְהִתְנַגֵד. זה מעמד סופי ולכן המתכנתים לא יכולים להרחיב אותו. מחלקה StringBuilder מיישמת Serializable, Appendable ו CharSequience ממשקים. אובייקט של המחלקה StringBuilder יכול להחזיק רצף של תווים, כי הוא mutable אבל לא בטוח חוט. כלומר, הוא דומה מאוד לאובייקט מחרוזת, אך ניתן לשנות את המחרוזת בכל עת.אבל בכיתה StringBuilder אינו מספק סנכרון, ולכן הוא טען להיות מהיר יותר מאשר באמצעות StringBuffer בכיתה. מחרוזת StringBuilder מספק להוסיף () ו להוסיף () שיטות עם פונקציונליות דומה בדיוק כמו בכיתה StringBuffer.

-> ->

מה ההבדל בין StringBuffer ו StringBuilder?

למרות, StringBuilder ו StringBuffer שיעורים ניתן להשתמש רצפים mutable של תווים ב- Java, יש להם הבדל מפתח. שלא כמו בכיתה StringBuffer, מחלקה StringBuilder אינו חוט בטוח, ומספק שום סינכרון. לכן, מומלץ כי מחלקה StringBuilder יש להשתמש במקום בכיתה StringBuffer ביישומים פתיל יחיד, כי הוא טען כי מחלקה StringBuilder יהיה הרבה יותר מהר מאשר בכיתה StringBuffer (בנסיבות רגילות).