JavaRush /בלוג Java /Random-HE /מחלקה StringBuilder ב-Java 8 עם דוגמה מעשית
Нина Можарская
רָמָה
Киев

מחלקה StringBuilder ב-Java 8 עם דוגמה מעשית

פורסם בקבוצה
המחלקה Stringיוצרת מחרוזות בלתי ניתנות לשינוי. המשמעות היא שאם תחיל פעולה כלשהי על מחרוזת או פעולה על מחרוזת, התוצאה תהיה מחרוזת חדשה. אם מחרוזת חדשה זו לא תוקצה לשום משתנה, תוצאת הפעולה תאבד. בהתאם לכך, פעולות על מחרוזות כאלה מובילות בהכרח ליצירת מחרוזת חדשה. וזה אומר עלויות נוספות של זיכרון וזמן מעבד. אם יש הרבה פעולות על מחרוזת, לעתים קרובות יותר יעיל להשתמש במחרוזות דינמיות, שמיושמות על ידי המחלקה StringBuilder.
מחלקה StringBuilder ב-Java 8 עם דוגמה מעשית - 1
שקול את הקוד שלהלן:
String s = "Some text";
int count = 100;
for(int i = 0; i<100;i++){
   s+=i;
}
**********************
StringBuilder s = new StringBuilder(110);
int count = 100;
s.append("Some text");
for(int i = 0;i<count;i++){
s.append(i);
}
הקוד לעיל מטפל באותה בעיה. כאשר אנו מוסיפים 100 תת מחרוזות חדשות למחרוזת נתונה. הדוגמה הראשונה משתמשת במחלקה למטרה זו String, שאינה יעילה במיוחד מכיוון שכל תוספת של מחרוזת משנה מובילה לבניית אובייקט חדש String. וזה בזבוז נוסף של זיכרון וזמן. בדוגמה השנייה, בעיה זו נפתרת באמצעות המחלקה StringBuilder. אנו יוצרים אובייקט של המחלקה מראש StringBuilder, ולאחר מכן באמצעות השיטה appendאנו יוצרים את המחרוזת שאנו צריכים על ידי שינוי התוכן של האובייקט שנוצר StringBuilder, אך מבלי ליצור מחדש את האובייקט עצמו.
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION