יום שלישי, 4 בדצמבר 2018

Immutable Class in Java

Immutable Class


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

בדוגמה הבאה לא ניתן לשנות את התוכן של s1 בשום אופן:
String s1 = "ABC";


השורה הבאה לא משנה את התוכן שהיה באובייקט עליו הצביע s1, אלא יוצרת אובייקט חדש ואומרת ל-s1 להצביע כעת עליו:
s1 = s1 + "D";


יהיה אשר יהיה הקוד בפונקציה ()f, ההדפסה בלי ספק תהיה "abcde":
String s2 = "abcde";
f(s2);
System.out.println(s2);