Las cadenas de texto en Java se representan mediante el tipo String
(en mayúscula, a diferencia de C++ o C#). Si queremos darle un valor literal, éste se representa entre comillas dobles.
String texto = "Hola, buenas";
Veamos a continuación algunas funciones u operaciones útiles para trabajar con cadenas de texto.
+
se emplea para concatenar cadenas de texto, enlazando una a continuación de otra.charAt
, indicando la posición a la que se quiere acceder. A diferencia de otros lenguajes, no existe el operador de corchetes para acceder a las letras sueltas.length
devuelve el tamaño o número de caracteres de la cadena en cuestiónindexOf
sirve para buscar un texto dentro de la cadena, devolviendo la posición donde se encuentra, o -1 si no hay coincidencias. También se pueden emplear otras funciones como contains
(que simplemente devuelve si el texto existe o no) o startsWith / endsWith
que sirven para comprobar si el texto comienza o termina por la cadena indicada.toUpperCase
y toLowerCase
convierten a mayúscula y minúscula, respectivamente, la cadena entera.replace
se emplea para reemplazar un texto con otro. Recibe como parámetros el texto viejo y el nuevo, y reemplaza todas las ocurrencias del viejo con el nuevo.substring
sirve para obtener una subcadena a partir de otra. Le pasamos como parámetro desde qué posición empezar a obtener la subcadena, y hasta qué posición llegar (a diferencia de esta misma función en C++ o C#, por ejemplo). Si no se especifica el segundo parámetro, se toma hasta el final de la cadena.split
sirve para partir una cadena por un delimitador indicado, obteniendo un array con todas las partes encontradas.equals
si queremos ver si son o no iguales. Los operadores de comparación ==
, !=
... NO funcionan en Java. Si queremos determinar cuál de dos cadenas es menor o mayor alfabéticamente, tenemos la instrucción compareTo
, similar a la de C#. Recibe como parámetro la segunda cadena a comparar, y devuelve un entero negativo, cero o positivo según si esa segunda cadena es mayor, igual o menor que la cadena inicial con la que se compara. Hay que tener en cuenta que esta comparación es alfabética.Veamos un ejemplo de todas estas funciones. En comentarios se indica el resultado que se produce en cada paso.
String texto = "Hola";
texto = texto + " buenas"; // texto = "Hola buenas"
System.out.println(texto.charAt(0)); // H
int tamano = texto.length(); // 11
int posicion = texto.indexOf("buenas"); // 5
boolean contiene = texto.contains("bue"); // true
boolean empieza = texto.startsWith("aaa"); // false
String mayus = texto.toUpperCase(); // mayus = "HOLA BUENAS"
String texto2 = texto.replace("bu", "BU"); // texto2 = "Hola BUenas"
String subcad = texto.substring(5, 7); // subcad = "bu"
String[] partes = texto.split(" "); // partes = {"Hola", "buenas"}
int resultado = texto.compareTo("Adiós"); // > 0