خلاصه مطلب
یخواهیم تفاوت بین سه کلاس مهم در جاوا یعنی String، StringBuffer و StringBuilder را بررسی کنیم.این سه کلاس برای کار با رشتهها استفاده میشوند، اما هرکدام ویژگیها و کاربردهای خاص خود را دارند.

لیست دوره های آکادمی جاوا پرو
موضوع -> میخواهیم تفاوت بین سه کلاس مهم در جاوا یعنی String، StringBuffer و StringBuilder را بررسی کنیم. این سه کلاس برای کار با رشتهها استفاده میشوند، اما هرکدام ویژگیها و کاربردهای خاص خود را دارند.
🌟 کلاس String -> غیرقابل تغییر (Immutable) هر بار که یک عملیات روی یک شیء از نوع String انجام میدهید، یک شیء جدید ایجاد میشود. کاربردها: مناسب برای رشتههایی که قرار نیست تغییر کنند، مثل نامها، پیامهای خطا و غیره. به مثال زیر دقت کنید:
| class JavaPro { public static void main(String[] args) { String s = "Hello"; s = s + " World"; System.out.println(s); } } |
🌟کلاس StringBuffer ->قابل تغییر (Mutable): عملیاتهای انجام شده روی یک شیء از نوع StringBuffer، همان شیء را تغییر میدهد و شیء جدید ایجاد نمیشود.نکته -> Thread-Safe: این کلاس برای برنامههایی که نیاز به هماهنگی بین چند نخ (Thread) دارند مناسب است. کندتر از StringBuilder -> به دلیل هماهنگی بین نخها. به مثال زیر توجه کنید:
| class JavaPro { public static void main(String[] args) { StringBuffer sb = new StringBuffer("Hello"); sb.append(" World"); System.out.println(sb); } } |
🌟کلاس StringBuilder ->قابل تغییر (Mutable): مانند StringBuffer، عملیاتها روی همان شیء انجام میشوند.نکته -> Thread-Unsafe: مناسب برای برنامههای تک نخی.سریعتر از StringBuffer: به دلیل عدم نیاز به هماهنگی بین نخها. به مثال زیر نگاه کنید:
| class JavaPro { public static void main(String[] args) { StringBuilder sb = new StringBuilder("Hello"); sb.append(" World"); System.out.println(sb); } } |
📚 جمعبندی:از String استفاده کنید وقتی که رشته شما قرار نیست تغییر کند. از StringBuffer استفاده کنید وقتی که نیاز به تغییر رشته دارید و برنامه شما چند نخی است. از StringBuilder استفاده کنید وقتی که نیاز به تغییر رشته دارید و برنامه شما تک نخی است.
🔆 دوست دارید موضوع مورد بحث بعدی در رابطه با اینکه 🧵 Thread چیه و چه کاربردی داره باشه ؟

