عملية indexOf

عملية indexOf هي نقيض العملية charAt. تأخذ charAt دليلاً وتعيد المحرف الموجود عند ذلك الدليل. أما indexOf فتأخذ محرفاً وتبحث عن الدليل الذي يظهر ذلك المحرف عنده.
كود:
تفشل charAt إذا كان الدليل يخرج عن نطاق السلسلة المحرفية، وتتسبب في استثناء. تفشل indexOf إذا لم يظهر المحرف في السلسلة أبداً، وتعيد القيمة 1-.
String fruit = "banana";
int index = fruit.indexOf(’a’);
هذا المثال يبحث عن دليل الحرف 'a' في السلسلة. في هذه الحالة، يظهر الحرف ثلاثة مرات، لذا لن يكون واضحاً ما يجب أن تفعله indexOf هنا. وفقاً للوثائق، فإنها ستعيد دليل الظهور الأول للحرف.
لإيجاد أدلة التكرارات التالية، توجد نسخة بديلة من indexOf (لشرح هذا النوع من التحميل الزائد، انظر القسم 6.4). تأخذ تلك النسخة متحولاً ثانياً يشير إلى الموقع من السلسلة الذي يجب بدء البحث منه. إذا استدعينا
كود:
int index = fruit.indexOf(’a’, 2);
فستبدأ البحث عند الحرف الثاني (حرف n الأول) وستجد حرف a الثاني، الموجود عند الدليل 3. إذا تصادف وجود الحرف عند دليل البدء، يكون دليل البدء هو الجواب. وهكذا،
كود:
int index = fruit.indexOf(’a’, 5);
ستعيد 5.