logo

سلسلة جافا

في جافا السلسلة هي في الأساس كائن يمثل تسلسل قيم char. ان مجموعة مصفوفة من الأحرف يعمل نفس سلسلة جافا. على سبيل المثال:

 char[] ch={'j','a','v','a','t','p','o','i','n','t'}; String s=new String(ch); 

هو نفس:

 String s='javatpoint'; 

سلسلة جافا توفر الفئة الكثير من الطرق لتنفيذ العمليات على سلاسل مثل Compare() وconcat() وequals() وsplit() و length() وreplace() وcompareTo() وintern() وsubstring() وما إلى ذلك.

تنفذ فئة java.lang.String قابل للتسلسل , قابلة للمقارنة و CharSequence واجهات .

سلسلة في جافا

واجهة تسلسل شار

يتم استخدام واجهة CharSequence لتمثيل تسلسل الأحرف. خيط، StringBuffer و StringBuilder الطبقات تنفيذها. وهذا يعني أنه يمكننا إنشاء سلاسل في Java باستخدام هذه الفئات الثلاث.

CharSequence في جافا

سلسلة Java غير قابلة للتغيير مما يعني أنه لا يمكن تغييرها. كلما قمنا بتغيير أي سلسلة، يتم إنشاء مثيل جديد. بالنسبة للسلاسل القابلة للتغيير، يمكنك استخدام فئات StringBuffer وStringBuilder.

سنناقش السلسلة غير القابلة للتغيير لاحقًا. دعونا أولاً نفهم ما هي السلسلة في Java وكيفية إنشاء كائن السلسلة.

ما هي السلسلة في جافا؟

بشكل عام، السلسلة عبارة عن سلسلة من الأحرف. لكن في Java، السلسلة هي كائن يمثل سلسلة من الأحرف. يتم استخدام فئة java.lang.String لإنشاء كائن سلسلة.

كيفية إنشاء كائن سلسلة؟

هناك طريقتان لإنشاء كائن سلسلة:

  1. بواسطة السلسلة الحرفية
  2. بواسطة الكلمة الرئيسية الجديدة

1) سلسلة حرفية

يتم إنشاء سلسلة Java الحرفية باستخدام علامات الاقتباس المزدوجة. على سبيل المثال:

 String s='welcome'; 

في كل مرة تقوم فيها بإنشاء سلسلة حرفية، يتحقق JVM من 'تجمع السلسلة الثابتة' أولاً. إذا كانت السلسلة موجودة بالفعل في التجمع، فسيتم إرجاع مرجع إلى المثيل المجمع. إذا لم تكن السلسلة موجودة في التجمع، فسيتم إنشاء مثيل سلسلة جديد ووضعه في التجمع. على سبيل المثال:

 String s1='Welcome'; String s2='Welcome';//It doesn't create a new instance 

سلسلة جافا

في المثال أعلاه، سيتم إنشاء كائن واحد فقط. أولاً، لن تجد JVM أي كائن سلسلة بقيمة 'مرحبًا' في تجمع ثابت السلسلة ولهذا السبب ستقوم بإنشاء كائن جديد. بعد ذلك، سيجد السلسلة ذات القيمة 'Welcome' في المجمع، ولن يقوم بإنشاء كائن جديد ولكنه سيعيد المرجع إلى نفس المثيل.

ملاحظة: يتم تخزين كائنات السلسلة في منطقة ذاكرة خاصة تُعرف باسم 'تجمع السلسلة الثابتة'.

لماذا تستخدم Java مفهوم السلسلة الحرفية؟

لجعل Java أكثر كفاءة في الذاكرة (لأنه لا يتم إنشاء كائنات جديدة إذا كانت موجودة بالفعل في تجمع ثابت السلسلة).

2) بواسطة كلمة رئيسية جديدة

 String s=new String('Welcome');//creates two objects and one reference variable 

في مثل هذه الحالة، JVM سيتم إنشاء كائن سلسلة جديد في ذاكرة الكومة العادية (غير المجمعة)، وسيتم وضع 'الترحيب' الحرفي في تجمع ثابت السلسلة. سيشير المتغير s إلى الكائن الموجود في الكومة (غير المجمعة).

احذف الملف في جافا

مثال سلسلة جافا

StringExample.java

 public class StringExample{ public static void main(String args[]){ String s1='java';//creating string by Java string literal char ch[]={'s','t','r','i','n','g','s'}; String s2=new String(ch);//converting char array to string String s3=new String('example');//creating Java string by new keyword System.out.println(s1); System.out.println(s2); System.out.println(s3); }} 
اختبره الآن

انتاج:

java strings example 

الكود أعلاه يحول a شار مصفوفة في أ خيط هدف. ويعرض كائنات السلسلة s1, s2 ، و S3 على وحدة التحكم باستخدام برينتلن () طريقة.

أساليب فئة سلسلة جافا

توفر الفئة java.lang.String العديد من الطرق المفيدة لتنفيذ العمليات على تسلسل قيم char.

لا.طريقةوصف
1 شار شارات (مؤشر int) تقوم بإرجاع قيمة char لفهرس معين
2 طول الباحث () تقوم بإرجاع طول السلسلة
3 تنسيق سلسلة ثابت (تنسيق سلسلة، كائن... وسيطات) تقوم بإرجاع سلسلة منسقة.
4 تنسيق سلسلة ثابت (الإعدادات المحلية l، تنسيق السلسلة، كائن... args) تقوم بإرجاع سلسلة منسقة مع لغة معينة.
5 سلسلة فرعية (int beginIndex) تقوم بإرجاع سلسلة فرعية لمؤشر البدء المحدد.
6 سلسلة فرعية (int beginIndex، int endIndex) تقوم بإرجاع سلسلة فرعية لمؤشر البداية ومؤشر النهاية المحدد.
7 منطقي يحتوي على (CharSequence s) تقوم بإرجاع صحيح أو خطأ بعد مطابقة تسلسل قيمة الحرف.
8 ربط سلسلة ثابتة (محدد CharSequence، CharSequence... عناصر) تقوم بإرجاع سلسلة متصلة.
9 ربط سلسلة ثابتة (محدد CharSequence، عناصر قابلة للتكرار) تقوم بإرجاع سلسلة متصلة.
10 منطقية يساوي (كائن آخر) يتحقق من مساواة السلسلة مع الكائن المحدد.
أحد عشر منطقي فارغ () يتحقق مما إذا كانت السلسلة فارغة.
12 سلسلة مترابطة (سلسلة سلسلة) فهو يسلسل السلسلة المحددة.
13 استبدال السلسلة (شار القديم، شار الجديد) فهو يستبدل كافة تكرارات قيمة الحرف المحددة.
14 استبدال السلسلة (CharSequence القديم، CharSequence الجديد) فهو يستبدل كافة تكرارات CharSequence المحددة.
خمسة عشر سلسلة ثابتة يساويIgnoreCase(سلسلة أخرى) يقارن سلسلة أخرى. لا يتحقق من الحالة.
16 سلسلة [] انقسام (سلسلة regex) تقوم بإرجاع سلسلة مقسمة مطابقة regex.
17 سلسلة [] انقسام (سلسلة regex، حد كثافة العمليات) تقوم بإرجاع سلسلة منقسمة مطابقة regex و Limit.
18 سلسلة المتدرب () تقوم بإرجاع سلسلة داخلية.
19 مؤشر كثافة العمليات (كثافة العمليات الفصل) تقوم بإرجاع فهرس قيمة char المحدد.
عشرين int فهرس (int ch، int fromIndex) تقوم بإرجاع فهرس قيمة char المحدد بدءًا من الفهرس المحدد.
واحد وعشرين int IndexOf (سلسلة فرعية) تقوم بإرجاع فهرس السلسلة الفرعية المحدد.
22 int IndexOf (سلسلة فرعية، int fromIndex) تقوم بإرجاع فهرس السلسلة الفرعية المحدد بدءًا من الفهرس المحدد.
23 سلسلة إلىLowerCase() تقوم بإرجاع سلسلة بأحرف صغيرة.
24 سلسلة إلى أحرف صغيرة (اللغة l) تقوم بإرجاع سلسلة بأحرف صغيرة باستخدام لغة محددة.
25 سلسلة إلىUpperCase () تقوم بإرجاع سلسلة بأحرف كبيرة.
26 سلسلة إلىUpperCase(اللغة المحلية l) تقوم بإرجاع سلسلة بأحرف كبيرة باستخدام لغة محددة.
27 قطع السلسلة () يزيل مسافات البداية والنهاية لهذه السلسلة.
28 قيمة السلسلة الثابتة (قيمة int) يقوم بتحويل النوع المحدد إلى سلسلة. إنها طريقة مثقلة.

هل تعرف؟
  • لماذا كائنات السلسلة غير قابلة للتغيير؟
  • كيفية إنشاء فئة غير قابلة للتغيير؟
  • ما هو تجمع سلسلة ثابتة؟
  • ما هو الكود الذي يكتبه المترجم إذا قمت بتسلسل أي سلسلة بواسطة + (عامل تسلسل السلسلة)؟
  • ما الفرق بين فئة StringBuffer وStringBuilder؟

ماذا سنتعلم في التعامل مع السلسلة؟
  • مفهوم السلسلة
  • سلسلة غير قابلة للتغيير
  • مقارنة السلسلة
  • تسلسل السلسلة
  • مفهوم السلسلة الفرعية
  • أساليب فئة السلسلة واستخدامها
  • فئة StringBuffer
  • فئة StringBuilder
  • إنشاء فئة غير قابلة للتغيير
  • طريقة toString ().
  • فئة StringTokenizer