إنشاء النصوص
String name = "براء";
int len = name.length(); // الطول
أهمّ الدوال
| الدالة | الوظيفة |
|---|---|
length() | الطول |
charAt(i) | الحرف في موضع |
substring(a, b) | جزء من النص |
indexOf("x") | موضع نص |
toUpperCase() / toLowerCase() | الحالة |
trim() | إزالة المسافات الطرفية |
replace("a","b") | الاستبدال |
split(",") | التقسيم لمصفوفة |
contains("x") | يحتوي؟ |
String s = " Hello World ";
s.trim().toUpperCase(); // "HELLO WORLD"
s.contains("World"); // true
الدمج
String full = "براء" + " " + "أبو سمرة";
String msg = String.format("العمر: %d", 25);
النصوص متعددة الأسطر (Text Blocks)
منذ Java 15، """ تفتح نصًّا متعدد الأسطر بدون الحاجة لـ \n أو تهريب علامات الاقتباس:
String html = """
<html>
<body>مرحبًا</body>
</html>
""";
Java تحذف تلقائيًا أي مسافة بادئة مشتركة بين كل الأسطر (بناءً على أقل سطر تباعدًا) — فتقدر تكتب النص بنفس تنسيق كودك دون كسر المحاذاة.
// بالطريقة القديمة:
String old = "السطر الأول\n" +
"السطر الثاني\n" +
"نص بين \"علامتي اقتباس\" هنا";
// بـ text block:
String modern = """
السطر الأول
السطر الثاني
نص بين "علامتي اقتباس" هنا
""";
- شرطة مائلة
\في نهاية السطر تُلغي السطر الجديد (تكمل بدون فاصل). \sتحافظ على مسافة بيضاء زائدة في نهاية السطر كانت ستُحذف تلقائيًا.
💡 مثالية لـ SQL أو JSON أو HTML مضمّنة داخل الكود — بدون تهريب مزعج لعلامات الاقتباس.
النصوص غير قابلة للتغيير (Immutable)
كل تعديل على String ينشئ نصًّا جديدًا. للتعديل المتكرّر استخدم StringBuilder:
StringBuilder sb = new StringBuilder();
sb.append("ا");
sb.append("ب");
String result = sb.toString(); // "اب"
💡
StringBuilderأسرع بكثير عند بناء نص داخل حلقة.
🎯 التالي: العمليات الرياضية والأرقام العشوائية.