Cadena nula y vacía en Java
- Usar la cadena vacía en Java
- Usar la cadena nula en Java
- Ejemplo de cadena nula y vacía en Java
-
Verifique la cadena nula y vacía usando el método
equals()
en Java
Este tutorial discutirá la diferencia entre cadenas null
y vacías en Java. Pero antes de eso, entenderemos la diferencia básica entre los términos vacío
y null
.
‘Vacío’ es como una caja vacía que podemos usar según nuestra necesidad para llenarla o hacer lo necesario.
Null
es como un vacío con alguna propiedad asociada, por lo que no podemos considerarlo ni vacío ni lleno.
En Java, una cadena se refiere a la secuencia de caracteres. Por ejemplo, delftstack
es una cadena.
A menudo vemos las cadenas vacías y nulas en Java. Mucha gente piensa que tanto las cadenas vacías como las nulas son iguales, pero hay una diferencia entre las cadenas nulas y las vacías.
Usar la cadena vacía en Java
String a = ""; // empty string
Aquí a
es una cadena vacía. Cuando asignamos la cadena vacía a la variable cadena
, indica que la variable referencia
se refiere a una ubicación de memoria de una cadena en un montón.
Una cadena vacía es una cadena que no tiene caracteres y tiene una longitud bien definida - la longitud es 0. Podemos realizar todas las operaciones de cadena en una cadena vacía.
Podemos encontrar su longitud utilizando el método length()
, averiguando el índice de algunos caracteres, etc.
Usar la cadena nula en Java
String b = null;
Aquí b
es una cadena nula. Al asignar el nulo a la variable de cadena, la variable de referencia no hace referencia a ninguna ubicación de memoria en un montón.
La cadena nula significa que no hay ninguna cadena. No tiene una longitud porque no es una cadena en absoluto.
La aplicación de cualquier operación de cadena estándar a la cadena nula provocará un tiempo de ejecución NullPointerException
.
Ejemplo de cadena nula y vacía en Java
En este ejemplo, creamos un String vacío y uno nulo, y luego verificamos su funcionamiento con el método length()
. La cadena nula lanza una excepción mientras que la vacía no.
Vea el ejemplo a continuación.
public class SimpleTesting {
public static void main(String[] args) {
// empty string
String a = "";
// null string
String b = null;
// printing length of empty string
System.out.println("length a = " + a.length());
// this piece of code will still throw nullpointerexception .*
if (b != "") {
// printing length of null string
System.out.println("length b =" + b.length());
}
}
}
Producción :
length a = 0
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.length()" because "<local2>" is null
at SimpleTesting.main(SimpleTesting.java:15)
Verifique la cadena nula y vacía usando el método equals()
en Java
Usamos el método equals()
y el operador equal ==
para verificar la cadena vacía y nula en este ejemplo. La expresión a==b
devolverá false
porque ""
y null
no ocupan el mismo espacio en la memoria.
En palabras simples, podemos decir que las variables no apuntan a los mismos objetos. El a.equals(b)
devolverá false
porque los valores de referencia del objeto señalados por a
y b
no coinciden.
El b.equal(a)
devolverá NullPointerExpception
porque b
apunta a una referencia oscura y no se permite ninguna operación.
public class SimpleTesting {
public static void main(String[] args) {
// empty string
String a = "";
// null string
String b = null;
System.out.println(a == b);
System.out.println(a.equals(b));
System.out.println(b.equals(a));
}
}
Producción :
false
false
Exception in thread "main" java.lang.NullPointerException: Cannot invoke "String.equals(Object)" because "<local2>" is null
at SimpleTesting.main(SimpleTesting.java:13)