في لغة جافا، السلاسل النصية (Strings) ليست نوع بيانات أساسي مثل int أو float، بل هي كائنات من النوع String. هذا يعني أنها تحمل خصائص وميزات خاصة تميزها. إليك أهم خصائص السلاسل النصية في جافا:

  • الكائنات (Objects): كما ذكرت، السلاسل النصية في جافا هي كائنات. هذا يعني أنها تحتوي على بيانات (سلسلة الأحرف) وطرق (methods) للتعامل مع هذه البيانات.
  • غير قابلة للتغيير (Immutable): هذه أهم خاصية للسلاسل النصية في جافا. بمجرد إنشاء سلسلة نصية، لا يمكنك تغيير قيمتها. أي عملية تعديل على سلسلة نصية، مثل إضافة أحرف أو حذفها أو تغييرها، تُنشئ سلسلة نصية جديدة في الذاكرة بدلاً من تعديل السلسلة الأصلية. هذا يوفر أمانًا وثباتًا أكبر للبرامج.
  • مخزنة في مصفوفة من الأحرف (char array): داخليًا، تُخزّن السلاسل النصية في جافا كمصفوفة من الأحرف (char[]).
  • دعم Unicode: تدعم جافا ترميز Unicode، مما يعني أنها قادرة على تمثيل مجموعة واسعة من الأحرف من مختلف اللغات.
  • التعامل معها ككائنات: نظرًا لأنها كائنات، توفر جافا العديد من الطرق (methods) المدمجة للتعامل مع السلاسل النصية، مثل:
    • length(): لإرجاع طول السلسلة النصية.
    • charAt(int index): لإرجاع الحرف الموجود في فهرس معين.
    • concat(String str): لدمج سلسلتين نصيتين.
    • substring(int beginIndex, int endIndex): لاستخراج جزء من سلسلة نصية.
    • equals(Object anObject): لمقارنة سلسلتين نصيتين.
    • toUpperCase() و toLowerCase(): لتحويل السلسلة النصية إلى أحرف كبيرة أو صغيرة.
    • indexOf(String str): للبحث عن وجود سلسلة فرعية داخل السلسلة النصية.
  • إنشاء السلاسل النصية: يمكن إنشاء السلاسل النصية بطريقتين:
    • باستخدام علامات الاقتباس المزدوجة: String str = "hello";
    • باستخدام الكلمة المفتاحية new: String str = new String("hello");

مثال يوضح خاصية عدم القابلية للتغيير:

Java
String str1 = "hello";
String str2 = str1.concat(" world");

System.out.println(str1); // Output: hello
System.out.println(str2); // Output: hello world

في هذا المثال، عند استخدام concat() لدمج str1 مع " world"، لم يتم تعديل str1 مباشرة، بل تم إنشاء سلسلة نصية جديدة باسم str2 تحتوي على القيمة "hello world".

فهم هذه الخصائص مهم جدًا للتعامل بفعالية مع السلاسل النصية في جافا وكتابة برامج صحيحة وفعالة.