עבור לתוכן

שאלה בJAVA לגבי מחרוזות

Featured Replies

פורסם

שאלה קטנה, האם כשאני כותב את זה:


String str="bla"
String s=str
s="w/e"

האם עכשיו str שווה ל-bla או עכשיו הוא שווה ל- w/e?

או בעצם, האם כשאני עושה את השורה השנייה הוא יוצר עצם חדש

שהערך של הטקסט שלו הוא bla או שהוא פשוט משנה את s ככה

שיצביע לאותו מקום שאליו str מצביע?

פורסם

ערכו של str לא השתנה, והוא עדיין יהיה "bla".

ב-Java, כל המשתנים (למעט הפרימיטיבים) הם למעשה מצביעים.

כשקבעת s=str, בעצם הגדרת ש-s יצביע לאותו מקום כמו str.

בשורה השלישית, שינית את המקום אליו מצביע s, בלי לגעת ב-str. str עדיין מצביע למחרוזת "bla".

פורסם

בג'אווה, מחרוזות הן immutable - כלומר - מחרוזות לא משתנות, הן רק נוצרות ומועתקות.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים