La clase String no es un tipo de dato primitivo. Cuando instanciamos un objeto de esta clase, en realidad estamos creando un array de caracteres. Es una forma cómoda de crear texto.
Tenemos dos formas de declarar un String en Java, pero una ya es más correcta que otra. Forma correcta:
String texto = "Soy un texto.";
Forma incorrecta de crear una instancia de tipo String:
String texto2 = new String("Soy texto2.");
Esta última forma son ganas de complicarnos la vida. Como vemos en la siguiente imagen, el propio NetBeans ya nos indica con el código subrayado en amarillo que no es la forma correcta.

¿Qué es un String nulo?
Un String nulo es aquel que no tiene ningún carácter. Sin embargo es un objeto de la clase String. En este caso el código para crearlo sería así:
String cadena;
Dividir un String en Java con split
Otra de las circunstancias que se nos pueden dar cuando estamos trabajando con cadenas de caracteres es que necesitemos dividirlas en partes. Para ello disponemos de un método muy útil. Se trata del método split.
Comparar dos Strings
Mediante la comparación de Strings podemos distinguir entre el operador lógico == y el método equals. Vamos a ver un sencillo código de ejemplo para entenderlo bien.
String cadena1 = "Esto es un objeto.";
String cadena2 = new String("Esto es un objeto.");
if(cadena1 == cadena2){
System.out.println("Son el mismo objeto.");
}else{
System.out.println("Son distintos objetos.");
}
if(cadena1.equals(cadena2)){
System.out.println("Tiene el mismo contenido.");
}else{
System.out.println("Contenidos distintos.");
}
Al ejecutar esta sencilla aplicación, el resultado será el siguiente:
Son distintos objetos.
Tiene el mismo contenido.
Al compararlos con el operador lógico nos devuelve que son objetos distintos. Porque realmente se trata de que hemos creado dos objetos distintos en memoria. Dos posiciones de memoria distintas. Sin embargo, disponemos de otra posibilidad. La de usar el método equals. Mediante este método comparamos el contenido de los Strings, no si son el mismo objeto. Por eso nos devuelve que tiene el mismo contenido.
Deja una respuesta