השוואה בין אובייקטים בשפת התכנות ג׳אווה

comparing objects in java
השוואת אובייקטים בשפת התכנות ג׳אווה עלולה מעט לבלבל. השוואה באמצעות האופרטור == מהווה השוואה בין ה-references ולא השוואה של האובייקטים עצמם.

Share This Post

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

השוואה בין אובייקטים באמצעות המתודה equals

כיוון שלא ניתן להשתמש באופרטור == כדי להשוות בין שני אובייקטים (שימוש באופרטור == משמעותו תהיה השוואה של ה-references של שני האובייקטים) הדרך שבה ניתן להשוות בין שני האובייקטים היא באמצעות הפונקציה equals. זוהי פונקציה שהוגדרה במחלקה Object ולכן ניתן להפעיל אותה על כל אובייקט. כמו כן, בכל מחלקה שאנו נגדיר נוכל לעשות לה overriding כדי שההשוואה בפועל תהיה באופן שאותו אנו נכתיב. במחלקות רבות שכבר הוגדרו על ידי אחרים, לרבות המחלקות שכבר קיימות בסביבת ההרצה של ג׳אווה, כבר דאגו להגדיר מחדש את equals. הווידאו שלהלן מסביר נושא זה בפירוט. הווידאו הופק כחלק מהקורס תכנות בג׳אווה אשר זמין ללימוד ג׳אווה באתר life michael professional

לימוד ג׳אווה בזמן ובקצב שמתאימים לכם

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

קורסים נוספים שכבר כעת ניתן למצוא ב-life michael professional כוללים קורס ללימוד Python, קורס ללימוד JavaScript וקורס ללימוד TypeScript

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

התעדכנו בחידושים הטכנולוגים

פוסטים נוספים

הזנק את העסק שלך!

נשמח להיפגש לקפה!

life michael academy asynchronous online courses

Java | Python | JavaScript | TypeScript

Update cookies preferences