JavaRush /مدونة جافا /Random-AR /طريقة IndexOf لفئة السلسلة: سبب الحاجة إليها وكيف تعمل

طريقة IndexOf لفئة السلسلة: سبب الحاجة إليها وكيف تعمل

نشرت في المجموعة
مرحبًا! غالبًا ما يستخدم المبرمجون الأساليب تلقائيًا، دون التفكير في كيفية عملها. هذه هي التقنيات الأساسية التي يجب أن تعرفها.

ما هي طريقة التحميل الزائد؟

قبل أن ننظر إلى الطريقة المذكورة في العنوان، دعونا نتذكر (وسيعرف شخص ما) ما هي طريقة التحميل الزائد. يسمح التحميل الزائد لأسلوب Java بتحديد طريقتين أو أكثر بنفس الاسم داخل نفس الفئة. وهذا ممكن فقط إذا كان لديهم معلمات إدخال مختلفة. في هذه الحالة، تسمى الطرق التحميل الزائد، وتسمى العملية نفسها طريقة التحميل الزائد. طريقة IndexOf لفئة السلسلة: سبب الحاجة إليها وكيف تعمل - 1يعد التحميل الزائد للطريقة أحد المبادئ الأساسية لتعدد الأشكال في Java.

ما هي طريقة indexOfالفصل ؟String

تخيل أن لديك سلسلة طويلة. على سبيل المثال، خطاب، وتحتاج إلى العثور على المكان الذي يقع فيه العنوان الأول للمرسل إليه بالاسم الذي تعرفه بالفعل. كيف ستفعل هذا؟ استخدم طريقة indexOf javaالفصل String. تعد هذه الطريقة مثالًا نموذجيًا للتحميل الزائد للطريقة، والذي ناقشناه أعلاه.

خيارات الطريقةindexOf

تحتوي الطريقة java string indexOfعلى أربعة أشكال مختلفة:

رقم 1.indexOf(int ch)

تقوم الطريقة int indexOf(int ch)بإرجاع الفهرس في السلسلة المحددة للتواجد الأول للحرف المحدد. بمعنى آخر، سوف نحصل على رقم الظهور الأول لحرف معين، من اليسار إلى اليمين. مثال:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e');
   System.out.println(value);
}
إخراج وحدة التحكم:

2
إذا كانت الشخصية التي نبحث عنها ليست في هذا السطر، فسنحصل على -1.
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('j');
   System.out.println(value);
}
إخراج وحدة التحكم:

-1
ملاحظة: لكي لا تخلط بين أي شيء، يجب ألا تنسى أن الأحرف الموجودة في السطر لا يتم حسابها من "1،2،3..."، ولكن من "0،1،2..."

رقم 2.indexOf(int ch, int fromIndex)

تقوم الطريقة int indexOf(int ch, int fromIndex)بإرجاع الفهرس الموجود في هذه السلسلة للتواجد الأول للحرف المحدد، وتبدأ البحث في الفهرس المحدد. هذه الطريقة هي نسخة أكثر حداثة من الطريقة السابقة. الفرق هو أننا نشير إلى رقم العنصر الذي سيبدأ منه البحث فعليًا. مثال:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e',5);
   System.out.println(value);
}
إخراج وحدة التحكم:

9
إذا كان الفهرس الذي سيتم إجراء البحث منه يتجاوز طول السلسلة، فإن الإجابة ستكون -1. طريقة IndexOf لفئة السلسلة: سبب الحاجة إليها وكيف تعمل - 2كما لاحظت، في توقيع هاتين الطريقتين (ما تتخذه الطريقتان كوسائط)، يتم تحديد نوع الرمز الذي يتم تمريره كـ int، وليس char. ومع ذلك نقلنا char. وذلك لأنه يتم تخزين السلاسل كمصفوفة بايت، حيث تتوافق الخلايا مع حرف معين من النوع char. charتتم المراسلات بين البايتات وفقًا لجدول ASCII. ASCII (الرمز القياسي الأمريكي لتبادل المعلومات) هو جدول يقوم بتعيين الأحرف الشائعة القابلة للطباعة وغير القابلة للطباعة إلى رموز رقمية. لذلك، عند تمرير حرف معين char، يتم تحويله تلقائيًا إلى رقم يمثل هذا الحرف في جدول ASCII. وبناء على ذلك يمكننا تمرير الرقم ( int) مباشرة إلى الطريقة، والذي يتوافق مع الحرف الذي نحتاجه. على سبيل المثال، الحرف 'e' في جدول ASCII يتوافق مع الرقم 101، لذا يمكننا تكرار المثال السابق، ولكن بدون char:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf(101,5);
   System.out.println(value);
}
لم يتغير إخراج وحدة التحكم لدينا:

9
ملحوظة: في بعض الحالات، تكون هذه الطرق قابلة للتبديل، على سبيل المثال str.indexOf('e');ستكون متشابهة - str.indexOf('e', 0);.

رقم 3.indexOf(String str)

تقوم الطريقة int indexOf(String str)بإرجاع الفهرس الموجود في الصف المحدد للتواجد الأول للسلسلة الفرعية المحددة. إنه يختلف بشكل أساسي عن الخيار الأول حيث أن هذه الطريقة تبحث بالفعل عن سلسلة فرعية بأكملها ( String). وبفضل هذا، يمكننا أن نبحث عن شيء أكثر تحديدا. مثال:
public static void main(String[] args) {
   String str = "Diego, where is my money? Diego,you made me very upset";
   int value = str.indexOf("Diego");
   System.out.println(value);
}
إخراج وحدة التحكم:

0
ملاحظة: جميع الاختلافات indexOfحساسة لحالة الأحرف: تعتبر الأحرف الكبيرة (الأحرف الكبيرة) والأحرف الصغيرة (الأحرف الصغيرة) مختلفة. احرص.

رقم 4.indexOf(String str, int fromIndex)

تقوم الطريقة indexOf(String str, int fromIndex)بإرجاع الفهرس الموجود في هذا الصف للتواجد الأول للسلسلة الفرعية المحددة، بدءًا من الفهرس المحدد. يعد هذا الخيار مرة أخرى خيارًا سابقًا أكثر حداثة، ولكن مع الإشارة إلى المكان الذي سيتم إجراء البحث منه. مثال:
public static void main(String[] args) {
   String str = "Diego, where is my money? Diego,you made me very upset";
   int value = str.indexOf("Diego", 1);
   System.out.println(value);
}
إخراج وحدة التحكم:

26
ملاحظة: إذا قمت بتحديد فهرس بداية سلبي، indexOfفسوف ترى الطريقة أنه 0. في هذه الحالة، ستكون الطريقة مشابهة مرة أخرى للطريقة السابقة (التي لم يتم تحديد فهرس البداية فيها). هذا كل شيء لهذا اليوم. الآن لديك المزيد من المعرفة بفضل indexOfJava!
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION