You are on page 1of 7

Francisca Pizarro Suárez

LA CLASE STRING
String es una clase predefinida y especial de Java definida en la librería o paquete java.lang y
orientada a manejar cadenas constantes de caracteres.

Para Java las cadenas de texto son objetos especiales. Los textos deben manejarse creando
objetos de tipo String (String se suele traducir como cadena; cadena de texto).

Ejemplos:

String e ; //no inicializado


String e =""; //cadena vacía
String e = "Hola"; //inicialización y asignación juntas.

String saludo = new String("hola"); //declaración de String cumpliendo sintaxis de clases

char[] palabra = {‘P’,’a’,’l’ };


//palabra es un array de caracteres //no es lo mismo que un String

a partir de ese array de caracteres podemos crear un String:

String cadena = new String(palabra);


//mediante el operador new podemos convertir el array de caracteres en un String
Que equivale a:

String cadena="Pal";

String texto2 ="Este es un texto que ocupa " +


"varias líneas, no obstante se puede "+
"perfectamente encadenar";

1.1 Métodos de instancia más utilizados de la clase String.

Cada nuevo String que creemos posee, por el simple hecho de ser un String, una serie de
métodos que podemos utilizar para facilitar nuestra manipulación de los textos.

Para utilizarlos basta con poner el nombre del objeto (de la variable) String, un punto y seguido
el nombre del método que deseamos utilizar junto con los parámetros que necesita. método y
sus parámetros después del nombre de la variable String.

objetoString.método(argumentos)

En la programación, un método es una subrutina o función cuyo código es definido en


una clase y puede pertenecer tanto a una clase, como es el caso de los métodos de clase
o estáticos, como a un objeto, como es el caso de los métodos de instancia.

1
Francisca Pizarro Suárez

Int length()
Permite devolver la longitud de una cadena (el número de caracteres de la cadena):

String texto1="Prueba";
System.out.println(texto1.length()); //Escribe 6

char charAt(int index) Devuelve el carácter indicado como índice.


El primer carácter de la cadena será el del índice 0.

Junto con el método length() podemos recuperar todos los caracteres de la cadena de
texto. Hay que tener cuidado. Ya que si intentamos acceder a un índice de carácter que
no existe nos devolverá una excepción

String s1="Prueba";
char c1=s1.charAt(2); //c1 valdrá ‘u’

Comparación entre objetos String

Los objetos String no pueden compararse directamente con los operadores de comparación.

En su lugar se deben utilizar estas expresiones:


 cadena1.equals(cadena2). El resultado es true si la cadena1 es igual a la cadena2.
Ambas cadenas son variables de tipo String.

 cadena1.equalsIgnoreCase(cadena2). Como la anterior, pero en este caso no se


tienen en cuenta mayúsculas y minúsculas.

 s1.compareTo(s2). Compara ambas cadenas, considerando el orden alfabético.

Si la primera cadena es mayor en orden alfabético que la segunda devuelve número


positivo, si son iguales devuelve 0 y si es la segunda la mayor devuelve número
negativo. Hay que tener en cuenta que el orden no es el del alfabeto español, sino que
usa la tabla ASCII, en esa tabla la letra ñ es mucho mayor que la o.

 s1.compareToIgnoreCase(s2). Igual que la anterior, sólo que además ignora las


mayúsculas (disponible desde Java 1.2).

2
Francisca Pizarro Suárez

Búsqueda de caracteres y subcadenas

Tenemos un conjunto de métodos que nos permiten buscar caracteres dentro de cadenas de
texto.

int indexOf(char ch)

Nos devuelve la posición de un carácter dentro de la cadena de texto.

En el caso de que el carácter buscado no exista nos devolverá un -1.

Si lo encuentra nos devuelve un número entero con la posición que ocupa en la cadena.

*También puede recibir una cadena en vez de un char.

String s1="Quería decirte que quiero que te vayas";


System.out.println(s1.indexOf("que")); //Escribe: 15

int indexOf(char ch, int fromIndex)

Realiza la misma operación que el anterior método, pero en vez de hacerlo a lo largo de toda la
cadena lo hace desde el índice (fromIndex) que le indiquemos.

Se puede buscar desde una determinada posición. En el ejemplo anterior:

*También puede recibir una cadena en vez de un char.

System.out.println(s1.indexOf("que",16)); //Ahora escribe: 26

int lastIndexOf(char ch)

Devuelve la última posición en la que aparece un determinado texto en la cadena. Es casi


idéntica a la anterior, sólo que busca desde el final. Si el carácter no está en la cadena
devuelve un -1.

*También puede recibir una cadena en vez de un char.

System.out.println(s1.lastIndexOf("que")); //Escribe: 15

int lastIndexOf(char ch, int fromIndex)

Lo mismo que el anterior, pero a partir de una posición indicada como argumento.

boolean endsWith(String sufix)


Devuelve true si la cadena termina con un determinado texto. Ejemplo:
String s1=”Quería decirte que quiero que te vayas”;

3
Francisca Pizarro Suárez

System.out.println(s1.endsWith(“vayas”)); //Escribe true

boolean startsWith(String prefix)


Devuelve true si la cadena empieza con un determinado texto.

String substring(int beginIndex, int finIndice)

Este método nos devolverá la cadena que se encuentra entre el índice pasado como
argumento (beginIndex) hasta el final de la cadena origen. Si las posiciones indicadas no son
válidas ocurre una excepción

String s1=”Buenos días”;


String s2=s1.substring(7); //s2 = "días"

String s2=s1.substring(7,10); //s2 = "día"

String replace(char viejo, char nuevo)


Cambia todas las apariciones de un carácter por otro en el texto que se indique y lo almacena
como resultado. El texto original no se cambia, por lo que hay que asignar el resultado de
replace en otro String para no perder el texto cambiado:

String s1=”Mariposa”;
System.out.println(s1.replace(‘a’,’e’)); //Da Meripose
System.out.println(s1); //Sigue valiendo Mariposa

String replaceAll(String nuevo, String viejo)


Modifica en un texto cada entrada de una cadena por otra y devuelve el resultado. El primer
parámetro es el texto que se busca (que puede ser una expresión regular), el segundo
parámetro es el texto con el que se reemplaza el buscado. La cadena original no se modifica.

String s = "La pausa la realizó Fernando. En las representaciones de teatro, Fernando


era el que mejor llevaba el tempo";

s = s.replaceAll("Fernando", "Maria"); //aquí sí modificamos la cadena original, machacamos

System.out.println(s);

String toUpperCase()
Obtiene la versión en mayúsculas de la cadena. Es capaz de transformar todos los caracteres
nacionales:

String s1 = "Batallón de cigüeñas";

4
Francisca Pizarro Suárez

System.out.println(s1.toUpperCase()); //Escribe: BATALLÓN DE CIGÜEÑAS


System.out.println(s1); //Escribe: Batallón de cigüeñas

String toLowerCase()
Obtiene la versión en minúsculas de la cadena.

String trim()

Elimina los caracteres en blanco de la cadena a izquierda y derecha.

char toCharArray()
Consigue un array de caracteres a partir de una cadena. De esa forma podemos utilizar las
características de los arrays para manipular el texto, lo cual puede ser interesante para
manipulaciones complicadas.

String cadena = "Esto es una cadena de texto";

char[] caracteres = cadena.toCharArray();

for (int x=0;x<caracteres.length;x++){

System.out.println("[" + x + "] " + caracteres[x]);

String concat(String cadena)


Concatena cadenas de caracteres.

String s1=”Buenos ”, s2=” días”, s3, s4;


s3 = s1 + s2; //s3 vale "Buenos días"
s4 = s1.concat(s2); //s4 vale "Buenos días"

5
Francisca Pizarro Suárez

Estos son los métodos más conocidos:

MÉTODO DESCRIPCIÓN PARÁMETRO TIPO DE DATO DEVUELTO

charAt Devuelve el carácter indicado Un parámetro int char


por parámetro

compareTo Sirve para comparar cadenas, Un parámetro String, la cadena int


devuelve un número según el a comparar.
resultado. Recuerda que no
sigue el alfabeto español, lo - Si devuelve un número mayor
compara según la tabla que 0: la primera cadena es mayor
ASCII. que la segunda.

- Si devuelve un 0: las cadenas


son iguales.

- Si devuelve un número menor


que 0: la primera cadena es
menor que la segunda
compareToIgnoreCase Es igual que el anterior, pero Un parámetro String, la cadena int
ignorando mayúsculas o a comparar
minúsculas. - Si devuelve un número mayor
que 0: la primera cadena es mayor
que la segunda.

- Si devuelve un 0: las cadenas


son iguales.

- Si devuelve un número menor


que 0: la primera cadena es
menor que la segunda
concat Concatena dos cadenas, es Un parámetro String, la cadena Un nuevo String con las cadenas
como el operador +. a concatenar concatenadas.
copyValueOf Crea un nuevo String a partir Un array de char String
de un array de char. Este
método debe invocarse de
manera estática, es decir,
String.copyValueOf(array_cha
r)
endsWith Indica si la cadena acaba con String boolean
el String pasado por
parámetro.
equals Indica si una cadena es igual String boolean
que otra.
equalsIgnoreCase Es igual que el anterior, pero String boolean
ignorando mayúsculas o
minúsculas.
getBytes Devuelve un array de bytes Ningún parámetro Un array de bytes
con el código ASCII de los
caracteres que forman el
String.
indexOf Devuelve la posición en la String o char int
cadena pasada por parámetro
desde el principio. -1 si no
existe.
indexOf Igual que el anterior, pero String o char, el segundo int
ademas le indicamos la parámetro es un int
posición desde donde
empezamos a buscar.
lastIndexOf Devuelve la posición en la String o char int
cadena pasada por parámetro
desde el final. -1 si no existe.
lastIndexOf Igual que el anterior, pero String o char, el segundo int
ademas le indicamos la parámetro es un int

6
Francisca Pizarro Suárez

MÉTODO DESCRIPCIÓN PARÁMETRO TIPO DE DATO DEVUELTO

posición desde donde


empezamos a buscar.
lenght Devuelve la longitud de la Ningún parámetro int
cadena.
matches Indica si la cadena cumple String boolean
con la expresión pasada
como parámetro.
Pincha aquí para tener mas
detalles.
replace Devuelve un String Dos parámetros char, el String
cambiando los caracteres que primero es el carácter que
nosotros le indiquemos. existe en el String y el segundo
por el que queremos cambiar.
replaceFirst Devuelve un String Dos parametros String, el String
intercambiando solo la primero son los caracteres que
primera coincidencia. existe en el String y el segundo
por el que queremos cambiar.
replaceAll Devuelve un String Dos parametros String, el String
intercambiando todas las primero son los caracteres que
coincidencias que se existe en el String y el segundo
encuentren. por el que queremos cambiar.
startsWith Indica si la cadena empieza String boolean
por una cadena pasada por
parámetro.
substring Trocea un String desde una Dos parámetros int, indica String
posición a otra. desde donde empieza hasta
donde acaba, este ultimo no se
incluye.
toCharArray Devuelve en un array de char, Ningún parámetro Un array de char
todos los caracteres de una
String.
toLowerCase Convierte el String a Ningún parámetro String
minúsculas.
toUpperCase Convierte el String a Ningún parámetro String
mayúsculas.
trim Elimina los espacios del Ningún parámetro String
String.
valueOf Transforma una variable Un parámetro, que puede ser String
primitiva en un String. Para un:
invocarse debe usarse con boolean, char, double, long,
String. Por array de chary referencia a un
ejemplo, String.valueOf(vari objeto.
able)

https://docs.oracle.com/javase/7/docs/api/java/lang/String.html

https://docs.oracle.com/javase/9/docs/api/java/lang/String.html

You might also like