מה שאתה צריך לדעת על שימוש במחרוזות ב- Java

מה שאתה צריך לדעת על שימוש במחרוזות ב- Java

לאחר שתתחיל ללמוד ג'אווה, שיעור המיתרים ימשוך את תשומת ליבך, הודות לתכונותיו הייחודיות.





אתה יכול ליצור ולתפעל מחרוזות ב- Java ביתר קלות מאשר בשפות אחרות. הסיבה לכך היא שמחלקת String מציעה תכונות שונות.





בהתבסס על תכונות אלה, ישנן מספר שיטות ליצירת ועריכה של מחרוזות בהתאם להעדפותיך ולצרכיך. באופן דומה, הרבה יהיה תלוי ביישום שלך והיכן צריך להשתמש במחרוזות.





במה שונים מחרוזות ג'אווה?

אם עבדת בעבר עם שפת C, אתה יודע שמחרוזות ב- C הן מערך של תווים (דמויות). מצד שני, מחרוזות Java אינן ניתנות לשינוי ומכילות תווים של Unicode.

איך להשיג mac על windows

אחת התכונות המרכזיות שהופכות את המיתרים ב- Java לייחודיים היא שרשור. פשוט השתמש באופרטור החיבור + כדי להצטרף לשני מחרוזות או יותר. זה משהו שאתה לא יכול לעשות עם אובייקטים אחרים של Java, כגון נְקוּדָה אוֹ מעגל .



כמו כן, כאמור, מחרוזות Java אינן ניתנות לשינוי, כלומר אינך יכול לשנות אותן. למשל, שיטות כמו toUpperCase () ו toLowerCase () ליצור מחרוזת חדשה לגמרי, במקום לבצע שינויים בתוכן המחרוזת הקיים. כעת הקוד שלך יחזיר את המחרוזת החדשה שנוצרה.

קשור: כיצד לנהל טקסט ב- PHP בעזרת פונקציות אלה





תחום נוסף שבו מחרוזות שונות הוא בכל הנוגע לשימוש בתווים null לסיום מחרוזות בשפות כמו C. ב- Java מחרוזות הן אובייקטים הנתמכים על ידי מערכי תווים. אם אתה מחפש לקרוא את תוכן המחרוזת שלך באופן שבו מערכי התווים מייצגים אותם, באמצעות toCharArray () השיטה תעשה את העבודה.

גם השוואת מחרוזות ב- Java נוחה יותר מאשר בשפות תכנות אחרות. במקום לכתוב בלוק קוד ארוך להשוואת מחרוזות, תוכל להשתמש ב- שווים() שיטה להשוואת שתי מחרוזות או יותר המשמשות בכל תוכנית. הסיבה לכך היא בעיקר שב- Java, ה- שווים השיטה מתגברת על ידי מחלקת המיתרים, מה שהופך את השוואת המיתרים לחתיכת עוגה.





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

כיצד מאוחסנים מחרוזות בזיכרון?

עכשיו שאתה יודע מה הופך מחרוזות בג'אווה לשונות ומועילות, בואו נחקור את מחלקת המיתרים. אם אתה יודע דבר או שניים על ניהול זיכרון בג'אווה, בוודאי התמודדת עם שתי הישויות המרכזיות שלה: ערימה וערימה.

הערימה משמשת לביצוע תהליכים ופעולות לאחר שנקראה על ידי תוכנית Java, ואילו ערימה מאחסן תוכן - הדרוש להפעלה וביצוע קוד ביעילות. אם כן, כיצד ניהול הזיכרון רלוונטי במקרה של מחרוזות?

הסיבה לכך היא כיתת המיתרים ומילולי המיתרים בג'אווה זוכים ליחס שונה. זה מצביע על כך שלספרות מחרוזות מוקצה שטח אחסון ייחודי בזיכרון הערימה, המכונה בריכה קבועה של מחרוזות. לכן, בכל פעם שאתה משתמש במילולי מחרוזת ליצירת אובייקטים של מחרוזות ב- Java, בריכת המחרוזת הקבועה מאחסנת אותם.

להיפך, כאשר אתה משתמש ב- חָדָשׁ מילת מפתח ליצירת אובייקטים של מחרוזות, ג'אווה תתייחס אליהם בדיוק כמו כל אובייקט אחר ותשלח אותם אל ערימת האחסון.

דוגמה לספרות מחרוזת

עכשיו שאתה יודע מספיק על אובייקטים של מחרוזות, בואו נעבור על דוגמא של מילולי מחרוזת:


public class muostrings {
public static void main(String args[])
{
String himuo = 'Hello World from MUO';
System. out .println (himuo);
}
}

כאן, המחרוזת מילולית יצרה את אובייקט המחרוזת עם תוכן Hello World מ- MUO. ג'אווה תשלח אובייקט זה למאגר קבוע המחרוזות.

שימוש במילת המפתח החדשה

אתה יכול גם להשתמש ב- חָדָשׁ מילת מפתח ליצירת אובייקטים של מחרוזת.

אובייקט המחרוזת של מחרוזת הימואו עם תוכן Hello World מ- MUO נוצר על ידי מחרוזת מילולית והיא תישלח לבריכה המתמדת של המיתרים. באופן דומה, ניתן ליצור אובייקטים של מחרוזות גם באמצעות מילת המפתח החדשה כדלקמן:


public class muostringsobj {
public static void main(String args[]) {
char [] strArr = { 'M', 'O', 'U'};
String jStr = new String(strArr);
System. out .println( jStr );
}
}

הדוגמה לעיל משתמשת ב- חָדָשׁ מילת מפתח ליצירת אובייקט מחרוזת. כפי שהוסבר קודם, הם נשלחים לערימה, שם הם מאוחסנים עם משתנים ואובייקטים אחרים המחכים לביצוע על ידי התוכנית.

נכון לעכשיו, אתה בטח סקרן לגבי הבריכה המתמדת של המיתרים, ובצדק. הוא מקצה שטח בריכה לאובייקטים בהתבסס על תוכן אובייקט המחרוזת. לאחר שהמאגר הקבוע של מחרוזת מקבל אובייקטים, הוא בודק אותם כדי לוודא אם שני אובייקטים מכילים אותו תוכן בדיוק.

האם שני אובייקטים של מחרוזות יכולים לאחסן את אותו התוכן?

כאשר משתמשים במחרוזת מילולית ליצירת אובייקט חדש, Java Virtual Machine (JVM) בודק את תוכן האובייקט ומעריך אם הוא כבר קיים במאגר. כאשר אובייקט מכיל תוכן שכבר קיים במאגר, הפניה של האובייקט מוחזרת מבלי ליצור את האובייקט החדש. אם עליך ליצור את האובייקט החדש, עליך לוודא כי התוכן הוא ייחודי וייחודי.

עם זאת, אם אתה משתמש ב- חָדָשׁ מילת מפתח ליצירת מחרוזת חדשה, היא תעובד אחרת. כאשר אתה משתמש ב- חָדָשׁ מילת המפתח ליצירת מחרוזת חדשה, היא תיווצר, ללא קשר אם היא מכילה את אותו תוכן כמו המחרוזת הקיימת.

זה מצביע על כך ששני אובייקטים קיימים של מחרוזות המאוחסנים בזיכרון הערימה רשאים להכיל את אותו התוכן; זה שונה מאובייקטים של מחרוזות המאוחסנים בבריכה קבועה של מחרוזות. תוכל גם להוכיח זאת באמצעות מפעיל ==; הוא מחזיר אמת אם משווים שני אובייקטים בעלי אותה כתובת פיזית.


public class comparingStrngs {
public static void main(String[] args)
{
String firstLiteral = 'muo1';
String secondLiteral = 'muo1';
System. out .println(firstLiteral == secondLiteral);
String firstKeyword = new String('muo2');
String secondKeyword = new String('muo2');
System. out .println(firstKeyword == secondKeyword);
}
}

עכשיו אתה יכול להבין בקלות מחרוזות ב- Java

במאמר זה למדת כיצד מחרוזות בג'אווה שונות, דרכי שימוש במחרוזות בג'אווה, ניהול זיכרון של מחרוזות בג'אווה ופרטים חשובים נוספים על אופן פעולת המחרוזות. כדי לבדוק את ההבנה שלך, למה שלא תכתוב תוכנית Java לשרשור שני מחרוזות?

לַחֲלוֹק לַחֲלוֹק צִיוּץ אימייל לומדים פייתון? להלן אופן מניפולציה של מחרוזות

שימוש ומניפולציה של מחרוזות בפייתון עשוי להיראות קשה, אך הוא פשוט באופן מטעה.

קרא הבא
נושאים קשורים
  • תִכנוּת
  • ג'אווה
על הסופר אוסמן גאני(פורסמו 4 מאמרים)

אוסמן הוא משווק תוכן שעזר למספר עסקים עם צמיחה אורגנית בפלטפורמות דיגיטליות. הוא אוהב גם תכנות וגם כתיבה, מה שאומר שכתיבה טכנית היא דבר שהוא נהנה מאוד. כאשר אינו עובד, אוסמן נהנה לבזבז זמן על תוכניות טלוויזיה, לעקוב אחר קריקט ולקרוא על ניתוח נתונים.

עוד מאוסמן גאני

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה