Saltar al contenido

Clase String en java.

La clase String en java se utiliza para poder manipular cadenas de caracteres, es decir, palabras o frases. Esta clase, debemos usarla cuando queremos manipular frases o palabras.

Al igual que en java tenemos tipos de datos primitivos como int, char, double, etc, Incluso en otros lenguajes de programación, como VBA, el tipo de datos String, se considera primitivo.

Sin embargo, en java ocurre totalmente lo contrario. Al ser un lenguaje 100% orientado a objetos, la clase String es considerada un objeto.

En java, no existe el tipo de datos String como tipo de datos propiamente dicho. Debemos tener en cuenta que, cuando en este lenguaje declaramos una variable String, no estamos haciendo referencia a un tipo de datos primitivo, sino a un objeto, a una clase interna de la API de java.

Ejemplo de la clase String en java.

package arranque;
public class Principal {
	public static void main(String[] args) {
		
		/* Declaramos una variable String
		 * para almacenar un nombre*/
		String nombre="Clases de informática";
	}	    
}

En este ejemplo estamos declarando una cadena de caracteres y la estamos guardando dentro de una variable llamada nombre. Como en java String no es un tipo de datos primitivo, sino que es una clase, decimos que la variable nombre es un objeto. Además String al ser una clase en java, decimos que la variable nombre es una instancia de la clase String.

Por este motivo aunque generalmente en este lenguaje, declaramos una variable String como en el ejemplo anterior, también podemos declarar una variable String de la siguiente manera:

package arranque;
public class Principal {
	public static void main(String[] args) {
		
		/* Declaro una variable objeto llamada frase
		 * y con new String(); le digo que esa variable
		 * va a contener un nuevo objeto de la case String
		 * y ese objeto tiene en su interior una cadena
		 * de caracteres que es "Soy una frase"*/
		
		String frase = new String("Soy una frase.");
		
		// Ahora imprimo lo que contiene ese objeto frase
		System.out.println(frase);
		
		//************************************************
		/* Tambien podemos declarar un objeto String de la
		 * siguiente manera*/
		
		/* Declaro un objeto de la clase string y lo almaceno
		 * en la variable objeto llamada nombre*/
		String nombre=new String();
		
		/* Inicio la variable objeto nombre
		 * con una cadena de caracteres*/
		nombre ="Soy el contenido de la variable objeto nombre";
		
		// Imprimimos el contenido de la variable nombre.
		System.out.println(nombre);
	}	    
}

Como manipular cadenas con la clase String.

Para manipular cadenas, la clase String en java, contiene una gran cantidad de métodos que podemos ver en la API correspondiente. Entre los más usados tenemos los siguientes:

  • length(): Devuelve el número total de caracteres de una palabra o frase.
  • charAt(x): Devuelve la posición de un caracter dentro de una palabra o frase. Hay que tener en cuenta que, las posiciones empiezan a contarse desde cero, por tanto, la primera posición de una cadena de caracteres en java, es la posición cero.
  • subString(x,y): Devuelve una subcadena de caracteres que está dentro de la cadena principal. Este método recibe dos parámetros de tipo entero.
    • Por un lado “x”, es el primer caracter a partir del cual queremos empezar a extraer caracteres.
    • Por otro lado, “y”, es el primer caracter que no queremos extraer.
  • equals(cadena): Compara dos cadenas de caracteres. Devuelve verdadero (true) si son iguales, o falso (false), si son diferentes.
  • equalsIgnoreCase(cadena): Es igual que el anterior, pero en este caso no diferencia mayúsculas de minúsculas.
  • isEmpty(): Devuelve true si la cadena está vacia. En caso contrario, devuelve false.
  • compareTo (String cadena): compara una cadena. Devuelve un número entero menor que cero si la cadena que se le pasa por parámetro es menor que la original. Por el contrario, devolverá un número entero mayor que cero si la cadena es mayor o cero si las dos cadenas son iguales.

Como usar método length.

package arranque;
public class Principal {
	public static void main(String[] args) {
		
		/* Declaramos una variable String
		 * para almacenar un nombre*/
		String nombre="Clases de informática ";
		
		/* Imprimimos por pantalla
		 * la lontitud de la cadena*/
		System.out.println("Esta frase tiene " + nombre.length());		
	}	    
}

Como usar el método charAt(x) de la clase String.

package arranque;
public class Principal {
	public static void main(String[] args) {
		
		/* Declaramos una variable String
		 * para almacenar un nombre*/
		String nombre="Clases de informática ";
		/* Devolvemos el último caracter de la cadena*/
		System.out.println("La última letra de la frase es "
		+ nombre.charAt(nombre.length()-1));		
	}	    
}

Uso de SubString(x,y). Ejemplo de uso.

package arranque;
public class Principal {
	public static void main(String[] args) {
		
		/* Declaramos una variable String
		 * para almacenar un nombre*/
		String nombre="Clases de informática ";
		// Devolvemos la palabra informática.
		String palabra=nombre.substring(11, 22);
		System.out.println(palabra);
	}	    
}

Método equals(cadena). Ejemplo.

package arranque;
public class Principal {
	public static void main(String[] args) {
		
		/* Declaramos dos variables String
		 * y almacenamos dos cadenas*/
		String cadena1="Aprendiendo programación.";
		String cadena2="Aprendiendo programación.";
		
		/* Comprobamos si las cadenas son iguales
		 * a traves del método equals.*/
		System.out.println(cadena1.equals(cadena2));
		
		/* El método equals, tiene en cuenta mayúsculas
		 * y minúsculas, por lo tando, este método,
		 * en este caso se devolverá true ya que
		 * las dos cadenas son iguales.*/		
	}	    
}

El método equalsIgnoreCase(cadena).

package arranque;
public class Principal {
	public static void main(String[] args) {
		
		/* Declaramos dos variables String
		 * y almacenamos dos cadenas*/
		String cadena1="Aprendiendo programación.";
		String cadena2="APRENDIENDO PROGRAMACIÓN.";
		
		/* Comprobamos si las cadenas son iguales
		 * a traves del método equals.*/
		System.out.println(cadena1.equalsIgnoreCase(cadena2));
		
		/* El método equalsIgnoreCase, no tiene en cuenta
		 * mayúsculas y minúsculas, por lo tando, este método,
		 * en este caso se devolverá true ya que
		 * las dos cadenas son iguales.*/		
	}	    
}