💎معنی Mutable و Immutable بودن کلاس ها (قابل تغییر و غیر قابل تغییر بودن)
🔅به آبجکت هایی که بعد از ایجاد شدن قابل تغییر هستند، Mutable گفته میشود. برای مثال کلاس Date یا StringBuilder
🔅در مقابل به ابجکت هایی که پس از ایجاد شدن قابل تغییر نیستند، Immutable گفته میشود. برای مثال کلاس String, Integer, Long,...
🔰 نمونه کلاس String:
(در اینباره بیشتر بخوانید)
🔆تفاوت های کلاس های Mutable و Immutable
⭕️در کلاس های Mutable فیلد ها بعد از ایجاد ابجکت قابل تغییر هستند در صورتی که در کلاس های Immutable چنین چیزی ممکن نیست.
⭕️کلاس های Mutable دارای متد هایی برای تغییر مقادیر فیلد ها مانند setter & getter هستند. در صورتی که کلاس های Immutable فقط دارای متد های getter میباشند.
⁉️چرا بعضی از کلاس ها Immutable هستند و یا چرا باید باشند؟
- همانطور که گفتیم مقادیر این کلاس ها غیر قابل تغییر است و از لحاظ مدیریت حافظه بصرفه است.
- کلاس های Immutable اصطلاحا Thread Safe هستند (در محیط های چند نخی (multithreading)) در واقع Thread safety به فرایند امن سازی برنامه در محیط های چند نخی گفته میشود.
🔗 نحوه ایجاد کلاس Immutable
#immutable #mutable #threadsafe #thread_safe #StringBuilder #Date #String
@pieceJava
🔅به آبجکت هایی که بعد از ایجاد شدن قابل تغییر هستند، Mutable گفته میشود. برای مثال کلاس Date یا StringBuilder
🔅در مقابل به ابجکت هایی که پس از ایجاد شدن قابل تغییر نیستند، Immutable گفته میشود. برای مثال کلاس String, Integer, Long,...
🔰 نمونه کلاس String:
String str = "Test";
str.replaceAll("T","s);
System.out.println(str)
;//prints Test
در قطعه کد بالا پس از خروجی گرفتن رشته str خواهید دید که رشته بدون هیچ تغییر خاصی نمایش داده خواهد شد.(در اینباره بیشتر بخوانید)
🔆تفاوت های کلاس های Mutable و Immutable
⭕️در کلاس های Mutable فیلد ها بعد از ایجاد ابجکت قابل تغییر هستند در صورتی که در کلاس های Immutable چنین چیزی ممکن نیست.
⭕️کلاس های Mutable دارای متد هایی برای تغییر مقادیر فیلد ها مانند setter & getter هستند. در صورتی که کلاس های Immutable فقط دارای متد های getter میباشند.
⁉️چرا بعضی از کلاس ها Immutable هستند و یا چرا باید باشند؟
- همانطور که گفتیم مقادیر این کلاس ها غیر قابل تغییر است و از لحاظ مدیریت حافظه بصرفه است.
- کلاس های Immutable اصطلاحا Thread Safe هستند (در محیط های چند نخی (multithreading)) در واقع Thread safety به فرایند امن سازی برنامه در محیط های چند نخی گفته میشود.
🔗 نحوه ایجاد کلاس Immutable
#immutable #mutable #threadsafe #thread_safe #StringBuilder #Date #String
@pieceJava
Telegram
تیکه پاره های جاوا
#چرا
💎چرا رشته ها غیر قابل تغییر یا Immutable هستند؟
در مورد Immutable و Mutable بودن کلاس ها از اینجا بخوانید.
فرض کنید رشته ای بصورت زیر داریم:
String str = "Hello";
حال بوسیله متد concat یک رشته را به رشته فعلی اضافه میکنیم:
str.concat(" World");
و در…
💎چرا رشته ها غیر قابل تغییر یا Immutable هستند؟
در مورد Immutable و Mutable بودن کلاس ها از اینجا بخوانید.
فرض کنید رشته ای بصورت زیر داریم:
String str = "Hello";
حال بوسیله متد concat یک رشته را به رشته فعلی اضافه میکنیم:
str.concat(" World");
و در…
👍3