JavaRush /Blog Java /Random-ES /Método IndexOf de la clase String: por qué es necesario y...

Método IndexOf de la clase String: por qué es necesario y cómo funciona

Publicado en el grupo Random-ES
¡Hola! Los programadores suelen utilizar métodos de forma automática, sin pensar en cómo funcionan. Estas son las técnicas básicas que debes conocer.

¿Qué es la sobrecarga de métodos?

Antes de ver el método mencionado en el título, recordemos (y alguien lo sabrá) qué es la sobrecarga de métodos. La sobrecarga de métodos Java permite definir dos o más métodos con el mismo nombre dentro de la misma clase. Esto sólo es posible si tienen diferentes parámetros de entrada. En este caso, los métodos se denominan sobrecargados y el proceso en sí se denomina sobrecarga de métodos. El método IndexOf de la clase String: por qué es necesario y cómo funciona - 1La sobrecarga de métodos es uno de los principios fundamentales del polimorfismo en Java.

¿Para qué sirve un método indexOfde clase ?String

Imagina que tienes una cuerda larga. Por ejemplo, una carta, y necesita encontrar el lugar donde se realiza la primera dirección al destinatario con un nombre que ya conoce. ¿Cómo harás ésto? Utilice el método indexOf javade clase String. Este método es un ejemplo típico de sobrecarga de métodos, que comentamos anteriormente.

Opciones de métodoindexOf

El método java string indexOftiene cuatro variaciones diferentes:

N° 1.indexOf(int ch)

El método int indexOf(int ch)devuelve el índice en la cadena dada de la primera aparición del carácter especificado. En otras palabras, obtendremos el número de la primera aparición de un carácter determinado, contando de izquierda a derecha. Ejemplo:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e');
   System.out.println(value);
}
Salida de consola:

2
Si el carácter que buscamos no está en esta línea obtendremos -1.
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('j');
   System.out.println(value);
}
Salida de consola:

-1
PD Para no confundir nada, no debes olvidar que los caracteres de una línea no se cuentan desde “1,2,3...”, sino desde “0,1,2...”

No. 2.indexOf(int ch, int fromIndex)

El método int indexOf(int ch, int fromIndex)devuelve el índice en esta cadena de la primera aparición del carácter especificado, iniciando una búsqueda en el índice especificado. Este método es una versión más modernizada del anterior. La diferencia es que indicamos el número del elemento a partir del cual realmente comenzará la búsqueda. Ejemplo:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf('e',5);
   System.out.println(value);
}
Salida de consola:

9
Si el índice desde el cual se realizará la búsqueda excede la longitud de la cadena, entonces la respuesta será -1. Método IndexOf de la clase String: por qué es necesario y cómo funciona - 2Como habrás notado, en la firma de estos dos métodos (lo que los métodos toman como argumentos), el tipo del símbolo que se pasa se especifica como int, no char. Sin embargo, transmitimos char. Esto se debe a que las cadenas se almacenan como una matriz de bytes, donde las celdas corresponden a un carácter específico de tipo char. La correspondencia entre los bytes charse realiza según la tabla ASCII. ASCII (código estándar americano para el intercambio de información) es una tabla que asigna caracteres imprimibles y no imprimibles comunes a códigos numéricos. Por lo tanto, cuando se pasa un determinado carácter char, se convierte automáticamente en un número que representa ese carácter en la tabla ASCII. En base a esto, podemos pasar directamente el número ( int) al método, que corresponde al carácter que necesitamos. Por ejemplo, el carácter 'e' de la tabla ASCII corresponde al número 101, por lo que podemos repetir el ejemplo anterior, pero sin char:
public static void main(String[] args) {
   String str = "Diego, where is my money?";
   int value = str.indexOf(101,5);
   System.out.println(value);
}
La salida de nuestra consola no ha cambiado:

9
PD: En algunos casos, estos métodos son intercambiables, como por ejemplo str.indexOf('e');serán similares: str.indexOf('e', 0);.

Numero 3.indexOf(String str)

El método int indexOf(String str)devuelve el índice en la fila dada de la primera aparición de la subcadena especificada. Es fundamentalmente diferente de la primera opción en que este método ya busca una subcadena completa ( String). Gracias a esto, podemos buscar algo más específico. Ejemplo:
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);
}
Salida de consola:

0
PD: Todas las variaciones indexOfdistinguen entre mayúsculas y minúsculas: los caracteres en mayúsculas (letras mayúsculas) y los caracteres en minúsculas (letras minúsculas) se consideran diferentes. Ten cuidado.

No. 4.indexOf(String str, int fromIndex)

El método indexOf(String str, int fromIndex)devuelve el índice en esta fila de la primera aparición de la subcadena especificada, comenzando en el índice especificado. Esta opción vuelve a ser una opción anterior más modernizada, pero con indicación del lugar desde donde se realizará la búsqueda. Ejemplo:
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);
}
Salida de consola:

26
PD: Si especifica un índice inicial negativo, el método indexOflo percibirá como 0. En este caso, el método volverá a ser similar al anterior (en el que no se especifica el índice inicial). Es todo por hoy. ¡ Ahora tienes más conocimientos gracias a indexOfJava!
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION