ההבדל בין אפס לריק

תוכן עניינים:

Anonim

ה ההבדל העיקרי בין בטל לריק הוא ש null משמש להתייחסות לשום דבר בעוד ריק משמש להתייחסות למחרוזת ייחודית באורך אפס.

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

ריק, אפס, מחרוזות

מה בטל

Null לא מתייחס לכלום. שימו לב לשתי ההצהרות שלהלן.

איור 1: התוכנית תבטל מחרוזת

s1 הוא משתנה מחרוזת. הוא מוקצה עם null. לכן, ה- JVM לא יקצה זיכרון כלשהו, ​​כך שהמשתנה s1 לא יצביע על שום דבר המשפט מחרוזת s1 = null; שווה ערך גם למחרוזת s1; בעת הדפסת אורך מחרוזת s1, הוא ייתן חריג מצביע null. הסיבה לכך היא ש- s1 אינו מתייחס למחרוזת בפועל לספירת האורך.

מה ריק

ריק מתייחס למחרוזת ללא אורך. עיין בקוד שלהלן.

איור 2: תוכנית עם מחרוזת ריקה

s2 הוא משתנה מחרוזת. הוא מוקצה עם מחרוזת ריקה שהיא "". לכן, ה- JVM יקצה שטח זיכרון למחרוזת ריקה. s2 יתייחס למחרוזת הריקה הזו. בעת הדפסת אורך המחרוזת s2, היא תדפיס 0. זאת מכיוון ש- s1 מצביע על מחרוזת, אך אין לה תווים לספור את האורך.

ההבדל בין אפס לריק

הַגדָרָה

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

תחביר

מחרוזת s1 = null; או מחרוזת s1; מבטא ש- s1 אינו מתייחס לשום דבר או לאפס. מחרוזת s2 = ""; מבטא ש- s2 מתייחס למחרוזת ריקה.

אורך

הדפסת אורך מחרוזת null תיתן חריג מצביע null. הדפסת אורך המחרוזת הריקה תיתן אפס.

סיכום

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

התייחסות:

נקודת הדרכה. "מחרוזות ג'אווה." Www.tutorialspoint.com, נקודת הדרכה, 12 באוגוסט 2018, זמין כאן.

ההבדל בין אפס לריק