funciones de cadena en Java | Cadena Java [con ejemplos]

Publicado: 2020-12-01

Tabla de contenido

Introducción

Java ha ganado mucho respeto entre los programadores debido a su soporte de programación orientada a objetos y funciones predefinidas para los tipos de datos proporcionados. Las cadenas son uno de los impresionantes tipos de datos proporcionados por java.

Son inmutables y se almacenan en el área del montón en un bloque de memoria separado llamado String Constant Pool. Hay muchas funciones predefinidas para cadenas en java, ¡vamos a explorarlas!

Funciones

charAt()

Para acceder al carácter en una posición particular, no necesitamos un ciclo para iterar a ese índice, ¡la función charAt() hace el trabajo duro por usted!. La función charAt() devuelve el carácter en una posición particular en la cadena, recuerda que el índice comienza desde 0 en java.

Esta función se define con el modificador de acceso como pública y devuelve un carácter. Este método espera un número entero como parámetro y acceder a la función con un parámetro mayor que la longitud de la cadena devuelve una excepción IndexOutOfBounds, que es una excepción en tiempo de ejecución.

String str = hola ;

char primero = str . charat( 0 );

char segundo = str . charat( 1 );

sistema _ fuera _ println(primero + + segundo);

El fragmento anterior dará 'h e' como salida porque la primera variable se asigna con el carácter 'h' y la segunda variable se asigna con el carácter 'e'.

compareTo() y compareToIgnoreCase()

La comparación de dos cadenas no funcionará con un operador == en Java, porque verifica si la dirección de ambas variables y devuelve verdadero si ambas variables tienen la misma dirección. Entonces, un operador == no puede comparar el contenido de las cadenas, aquí entra en acción el método compareTo().

Este método público espera una cadena o un objeto como parámetro que se va a comparar y devuelve un valor entero después de una comparación lexicográfica, recuerde que este método distingue entre mayúsculas y minúsculas. Pero podemos usar compareToIgnoreCase() para una comparación ignorando las minúsculas y mayúsculas de los caracteres.

Cadena str1 = Hola ;

Cadena str2 = Hola ;

String str3 = hola ;

int i1 = str1 . comapreTo(str2);

int i2 = str2 . comparar con (str3);

int i3 = str2 . compareToIgnoreCase(str3);

sistema _ fuera _ println(i1 + i2 + + i3);

El fragmento anterior imprimirá '1 0 1' como salida porque la variable i1 se asigna con 1 ya que ambas cadenas son iguales, la variable i2 se asigna con 0 ya que estamos comparando cadenas por mayúsculas y minúsculas. De manera similar, a la variable i3 se le asigna 1 ya que estamos comparando las cadenas ignorando las mayúsculas y minúsculas.

concat()

Dado que las cadenas son inmutables, no podemos editar el valor de una cadena, sino que podemos reasignar el valor actualizado a la misma variable. Podemos usar el método concat() para concatenar ambas cadenas. Este método espera una cadena como parámetro que se va a concatenar y devuelve una nueva cadena concatenada.

Cadena s1 = " primero " ;

Cadena s2 = " segundo " ;

sistema _ fuera _ println(s1 . concat(s2));

El fragmento anterior imprime una cadena "primer segundo".

Lea: Propiedades y beneficios de JavaBeans: ¿Cómo debe utilizarlos?

contiene ()

Verificar si una cadena está presente como una subsecuencia de otra cadena ahora es pan comido. El método contains() en Java es una función pública booleana y devuelve verdadero si una secuencia de caracteres está presente en una cadena y falso en caso contrario. Este método espera una secuencia de caracteres como parámetro y devuelve una NullPointerException si se pasa un objeto nulo como parámetro.

String s1 = Hola ;

sistema _ fuera _ println(s1 . contiene( el )); //línea 1

sistema _ fuera _ println(s1 . contiene( “” )); //línea 2

sistema _ fuera _ println(s1 . contiene( nulo )); //línea 3

El fragmento anterior imprime True para la línea 1 porque la secuencia "el" está presente en la cadena, de manera similar, la línea 2 imprime True porque una secuencia vacía devuelve True de forma predeterminada. Y la línea 3 lanza una NullPointerException ya que se pasa un parámetro nulo.

índice de()

Hemos visto una función Java que devuelve el carácter presente en un índice determinado, pero ¿qué pasa si queremos el índice de la primera aparición de un carácter determinado? Relájese, la función indexOf() hace el trabajo. Esta función se anula internamente con cuatro firmas diferentes, analicémoslas.

String s1 = Hola, hola, Hola, hola ;

sistema _ fuera _ println(s1 . indexOf( allí )); //línea 1

sistema _ fuera _ println(s1 . indexOf( allí , 5 )); //línea 2

sistema _ fuera _ println(s1 . indexOf( ' T ' )); //línea 3

sistema _ fuera _ println(s1 . indexOf( ' T ' , 16 )); //línea 4

En el fragmento anterior, la función llamada en la línea 1 espera una cadena y esto devuelve el índice de inicio de la primera aparición de una cadena dada, imprime 4 en este caso. La función llamada en línea2 espera una cadena junto con un número entero como parámetros, ahora este número entero se refiere al índice de inicio donde la búsqueda de una cadena dada comienza desde ese índice, imprime 37 en este caso.

La función llamada en la línea 3 espera un carácter como parámetro, devuelve la primera aparición del carácter dado, imprime 15 en este caso. De manera similar, la función presente en la línea 4 espera un carácter y un número entero.

Donde el número entero representa el índice de inicio y luego la búsqueda del carácter dado comienza desde ese carácter, imprime 26 en este caso. Recuerde que esta función distingue entre mayúsculas y minúsculas, lo que podemos ver en el fragmento anterior.

esta vacio()

Esta función realiza una tarea sencilla pero muy útil desde el punto de vista del programador. Esta función booleana devuelve True si la cadena está vacía y False en caso contrario. Esta función ayuda a verificar si una cadena está vacía antes de realizar cualquier tarea en la cadena porque pocas de las funciones lanzan una excepción para cadenas vacías que interrumpen el flujo de ejecución.

String s1 = Hola ;

Cadena s2 = “” ;

sistema _ fuera _ println(s1 . estáVacío()); //línea 1

sistema _ fuera _ println(s2 . estáVacío()); //línea 2

El fragmento anterior imprime Falso para la línea 1 y Verdadero para la línea 2.

longitud()

Averiguar la longitud de una cadena ya no es una tarea tediosa, la función length() en Java devuelve la longitud de la cadena dada. Esto devuelve cero si se pasa una cadena vacía como parámetro.

Cadena s1 = abcdefghijklmnopqrstuvwxyz ;

sistema _ fuera _ println(s1 . longitud());

El código anterior imprime 26.

reemplazar()

A diferencia de la función indexOf(), donde solo devuelve la primera aparición de la secuencia, la función replace() reemplaza todos los caracteres especificados con el nuevo carácter dado y devuelve una nueva cadena. Esta función pública espera dos caracteres, digamos c1 y c2 como parámetros. Donde busca todos los caracteres iguales a c1 y los reemplaza con c2.

String s1 = holaHOLA ;

sistema _ fuera _ println(s1 . replace( ' l ' , ' p ' ));

Recuerde que esta función distingue entre mayúsculas y minúsculas, por lo que el fragmento anterior imprime "heppoHELLO".

toLowerCase() y toUpperCase()

Convertir una cadena a minúsculas o viceversa es una tarea divertida en java, que solo necesita el arte de una sola línea de código, y las funciones toLowerCase(), toUpperCase() son los artistas.

Estas funciones públicas no esperan parámetros y devuelven una nueva cadena con las mayúsculas y minúsculas actualizadas de los caracteres.

Cadena s1 = " Hola " ;

sistema _ fuera _ println(s1 . toUpperCase()); //línea 1

sistema _ fuera _ println(s1 . toLowerCase()); //línea 2

En el fragmento anterior, la línea 2 imprime "hola" y la línea 1 imprime "HEY ALLI".

Aprenda: Manejo de eventos en Java: ¿Qué es eso y cómo funciona?

podar()

Un enfoque ingenuo para eliminar los espacios en blanco iniciales y finales en una cadena es recorrer la cadena y eliminar el carácter si es un espacio en blanco, pero hay una forma óptima. La función trim() elimina todos los espacios iniciales y finales de la cadena y devuelve una nueva cadena. Esta función pública no espera ningún parámetro.

Cadena s1 = " Hola " ;

sistema _ fuera _ println(s1 . recortar());

El fragmento anterior imprime "Hola", que es la nueva cadena después de recortar los espacios en blanco anteriores y posteriores.

Conclusión

Hemos repasado algunas de las funciones de cadena en Java, entendido cómo funcionan, qué esperan y qué devuelven. Exploró las firmas anuladas de algunas funciones, recorrió un fragmento de código de muestra para una comprensión adecuada. Ahora que conoce algunas funciones, comience a utilizarlas cuando sea necesario.

Si está interesado en obtener más información sobre Java, OOP y desarrollo de software de pila completa, consulte el Diploma PG de upGrad & IIIT-B en desarrollo de software de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de formación rigurosa, 9 + proyectos y asignaciones, estado de ex alumnos de IIIT-B, proyectos finales prácticos y asistencia laboral con las mejores empresas.

Prepárate para una carrera del futuro

APRENDIZAJE DE CONFIANZA EN LA INDUSTRIA - CERTIFICACIÓN RECONOCIDA EN LA INDUSTRIA.
Aprende más