La clase String representa una de las clases más utilizadas en java ya que es la encargada de almacenar una cadena de caracteres y gestionar su funcionamiento. Lo primero que hay que comentar es que, a diferencia del resto de variables vistas en entradas anteriores, String carece de tipo primitivo
String palabra = new String ("Ejemplo de palabra");
Normalmente este suele ser el constructor utilizado para poder crear una variable de tipo String, definiendo cual es el conjunto de caracteres asociados a la variable. Una de los potenciales que tiene este tipo de variables es que al ser de tipo compleja, se pueden utilizar todos los métodos asociados tanto a la clase Object (superclase de java) como a la clase String, donde encontramos métodos como:
String palabra = new String ("Curso de Java"); //muestra la letra asociada a la posición indicada System.out.println(palabra.charAt(0)); //obtiene la última posición del caracter indicado System.err.println(palabra.lastIndexOf("a")); //muestra la posición de la letra indicada System.out.println(palabra.indexOf("a")); //muestra el conjunto de caracteres indicado System.out.println(palabra.substring(0, 5)); //muestra la palabra en mayusculas System.out.println(palabra.toUpperCase()); //muestra la palabra en minúsculas System.out.println(palabra.toLowerCase()); //compara si la longitud palabra es igual a la indicado //devuelve el número de caracteres diferentes //(positivo --> primera palabra mayor) //(0 palabras iguales en longitud) //(negativo --> segunda palabra mayor System.out.println(palabra.compareTo("Curso")); //compara la longitud de las dos palabras sin importancia de mayusculas/minúsculas System.out.println(palabra.compareToIgnoreCase("CURSO")); //concatena el valor indicado a la palabra System.out.println(palabra.concat(" inicial")); //compara el valor indicado con la palabra //System.out.println(palabra.); //Formatear la salida de un string String frase = String.format("Curso de %s %.1f", "Java",1.9); System.out.println(frase);
Dentro de los ejemplos anteriores es reseñable el uso del método format. Este método es utilizado para poder formatear de forma correcta un conjunto de cadenas, indicando el patrón a seguir junto con las opciones que se deben sustituir dentro del mismo. Las opciones que se pueden utilizar son:
- %b Booleano
- %h Hashcode
- %s Cadena
- %c Caracter unicode
- %d Entero decimal
- %o Entero octal
- %x Entero hexadecimal
- %f Real decimal
- %e Real notación científica
- %g Real notación científica o decimal
- %a Real hexadecimal con mantisa y exponente
- %t Fecha u hora
Este tipo de método es más eficiente que el concatenar cadenas mediante el opeardor +
String frase = String.format("Curso de %s %.1f", "Java",1.9); System.out.println(frase); String fraseDos = "Curso de "+"Java "+String.valueOf(1.9); System.out.println(fraseDos);
Mención especial tiene el método toString(), el cual transforma en cadena de texto cualquier objeto. Este método se explicará con más detenimiento en la entrada de objetos
public class Palabras { public static void main (String[]args){ String palabra = new String ("Curso de Java"); //muestra la letra asociada a la posición indicada System.out.println(palabra.charAt(0)); //obtiene la última posición del caracter indicado System.err.println(palabra.lastIndexOf("a")); //muestra la posición de la letra indicada System.out.println(palabra.indexOf("a")); //muestra el conjunto de caracteres indicado System.out.println(palabra.substring(0, 5)); //muestra la palabra en mayusculas System.out.println(palabra.toUpperCase()); //muestra la palabra en minúsculas System.out.println(palabra.toLowerCase()); //compara si la longitud palabra es igual a la indicado //devuelve el número de caracteres diferentes //(positivo --> primera palabra mayor) //(0 palabras iguales en longitud) //(negativo --> segunda palabra mayor System.out.println(palabra.compareTo("Curso")); //compara la longitud de las dos palabras sin importancia de mayusculas/minúsculas System.out.println(palabra.compareToIgnoreCase("CURSO")); //concatena el valor indicado a la palabra System.out.println(palabra.concat(" inicial")); //compara el valor indicado con la palabra //System.out.println(palabra.); //Formatear la salida de un string String frase = String.format("Curso de %s %.1f", "Java",1.9); System.out.println(frase); String fraseDos = "Curso de "+"Java "+String.valueOf(1.9); System.out.println(fraseDos); frase.toString(); } }
Los códigos se pueden descargar desde el repositorio