الاختلاف الرئيسي بين String و StringBuilder هو أن String يعتبر immutable، بينما StringBuilder هو mutable. وهذا يعني بأنه عند إنشاء كائن من String في الذاكرة، لا يمكن تعديل المحتوى النصي لهذا الكائن، بعكس الـ StringBuilder.
- بالنسبة للـ concatenation operator مثل: "Hello " + "World" فهي لا تعني التعديل على كائن String معين، ولكن تتم ترجمتها أثناء الـ compile-time إلى:
String s = new StringBuilder("Hello ").append("world").toString();
والطريقة قد تختلف من implementation إلى آخر للـ JDK.
يتميز الـ String بأنه من الممكن إنشاء كائن منه عن طريق الـ String literal، مثل: "أهلاً بالعالم".
الـ APIs الخاصة بالـ String تحتلف عن الـ APIs الخاصة بالـ StringBuilder.
للتحويل من String إلى StringBuilder، استخدم الـ constructor. بينما العكس يتم عن طريق الدالة toString.
التعليقات