ناقشت سلسلة Java Basics السابقة المفاهيم الأساسية لـ Java، وخاصة أساس الكائنات الموجهة. في Java Advanced، سأكمل أساسيات Java وانتقل إلى مستوى التطبيق.
تستطيع معظم لغات البرمجة التعامل مع السلاسل. السلسلة عبارة عن مجموعة مرتبة من الأحرف، مثل "Hello World!". في Java، يتم تخزين السلاسل ككائنات فئة سلسلة. يمكن لطرق استدعاء كائنات السلسلة تنفيذ العمليات المتعلقة بالسلسلة.
تم تضمين فئة السلسلة في حزمة java.lang. سيتم استيراد هذه الحزمة تلقائيًا عند بدء تشغيل Java، لذلك يمكن استخدامها كفئة مدمجة. لا نحتاج إلى استخدام الاستيراد بشكل صريح لتقديم فئة السلسلة.
إنشاء سلسلة
لقد استخدمنا الفئات سابقًا لإنشاء كائنات. تجدر الإشارة إلى أن الكلمة الأساسية الجديدة غير مطلوبة لإنشاء كائن فئة سلسلة. على سبيل المثال:
انسخ رمز الكود كما يلي:
اختبار الطبقة العامة
{
الفراغ العام الثابت الرئيسي (String[] args)
{
String s = "Hello World!";
System.out.println(s);
}
}
في الواقع، عند كتابة تعبير "Hello World"، يتم إنشاء الكائن بالفعل في الذاكرة. إذا كنت تستخدم سلسلة جديدة ("Hello World!")، فسيتم إنشاء كائن سلسلة بشكل متكرر.
كائن
فئة السلسلة هي الفئة الوحيدة التي لا تتطلب الكلمة الأساسية الجديدة لإنشاء الكائنات. تحتاج إلى الاهتمام عند استخدامه.
عمليات السلسلة
يمكنك استخدام + لربط السلاسل، على سبيل المثال:
انسخ رمز الكود كما يلي:
"اي بي سي" + س
يتم تنفيذ عمليات السلسلة في الغالب من خلال الطرق المقابلة للسلاسل، مثل الطرق التالية:
انسخ رمز الكود كما يلي:
تأثير الطريقة
s.length() ترجع طول السلسلة s
s.charAt(2) تُرجع الحرف ذو الحرف المنخفض 2 في السلسلة s
s.substring(0, 4) تُرجع السلسلة الفرعية ذات الأحرف الفرعية من 0 إلى 4 في السلسلة s.
s.indexOf("Hello") تُرجع فهرس السلسلة الفرعية "Hello"
s.startsWith(" ") يحدد ما إذا كانت s تبدأ بمسافة
s.endsWith("oo") يحدد ما إذا كانت s تنتهي بـ "oo"
s.equals("Good World!") يحدد ما إذا كانت s تساوي "Good World!"
يمكن لـ == تحديد ما إذا كانت السلسلة محفوظة في نفس الموقع فقط. تحتاج إلى استخدام يساوي () لتحديد ما إذا كانت محتويات السلاسل هي نفسها.
s.compareTo("Hello Nerd!") يقارن السلسلة s بترتيب "Hello Nerd!" في القاموس،
إرجاع عدد صحيح. إذا كان <0، فهذا يعني أن s موجودة قبل "Hello Nerd!"؛
إذا كان >0، فهذا يعني أن s بعد "Hello Nerd!";
إذا كان ==0، فهذا يعني أن s يساوي "Hello Nerd!".
يقوم s.trim() بإزالة سلسلة المسافة قبل وبعد s وإرجاع سلسلة جديدة
يقوم s.toUpperCase() بتحويل s إلى أحرف كبيرة وإرجاع سلسلة جديدة
يقوم s.toLowerCase() بتحويل s إلى أحرف صغيرة وإرجاع سلسلة جديدة
s.replace("World"، "Universe") يستبدل "World" بـ "Universe" ويعيد سلسلة جديدة
كائنات غير قابلة للتغيير
كائنات فئة السلسلة هي كائنات غير قابلة للتغيير. لا يمكن للمبرمجين تعديل الكائنات غير القابلة للتغيير الموجودة. يمكننا أيضًا إنشاء كائنات غير قابلة للتغيير بأنفسنا، طالما أن الواجهة لا توفر طرقًا لتعديل البيانات.
ومع ذلك، فإن كائنات فئة السلسلة لديها وظائف لتحرير السلاسل، مثل استبدال (). يتم تنفيذ وظائف التحرير هذه عن طريق إنشاء كائن جديد بدلاً من تعديل الكائن الأصلي. على سبيل المثال:
انسخ رمز الكود كما يلي:
s = s.replace("العالم"، "الكون");
يؤدي استدعاء s.replace() الموجود على اليمين إلى إنشاء سلسلة جديدة "Hello Universe!" وإرجاع (إشارة إلى) ذلك الكائن. عن طريق التعيين، سيشير المرجع إلى السلسلة الجديدة. إذا لم يكن هناك أي مراجع أخرى للسلسلة الأصلية "Hello World!"، فسيتم تجميع كائن السلسلة الأصلي غير المرغوب فيه.
كائنات غير قابلة للتغيير
جافا API
توفر Java العديد من الحزم القوية. أحد الجوانب المهمة لتعلم Java هو فهم هذه الحزم وواجهات برمجة التطبيقات (API) (واجهة برمجة التطبيقات) الموجودة فيها. يتم تعريف فئة السلسلة في java.lang.String. يمكنك الاستعلام عن موقع Oracle التالي للعثور على الوثائق الرسمية لهذه الفئة:
http://docs.Oracle.com/javase/6/docs/api/Java/lang/String.html
تحتوي هذه الوثيقة على المقدمة الأكثر شمولاً لفئة السلسلة.
في الواقع، هناك قدر كبير من المحتوى في وثائق واجهة برمجة التطبيقات (API)، والتي يمكنك الحصول على نظرة عامة عليها على الرابط أدناه:
http://docs.Oracle.com/javase/6/docs/api/