Hay algunas consideraciones que debes tomar en cuenta a la hora hacer comparación de cadenas en Java. Te mostraremos algunos ejemplos. Puede parecer que algunas formas son correctas o incorrectas, pero si sabes como funcionan todas pueden ser útiles dependiendo de las circunstancias.
"cadena" == "cadena" "cadena" == "cad" + "ena" "cadena" == "-cadena".substring(1) new String("cadena").equals("cadena") new String("cadena") == new String("cadena") "cadena".equals(variableCadena)
La siguiente expresión compara dos direcciones, el compilador se encarga de hacer que ambos objetos sean el mismo y por lo tanto tengan también la misma dirección.
"cadena" == "cadena"
"cadena" == "cad" + "ena"
"cadena" == "-cadena".substring(1)
En la siguiente expresión el método equals compara el valor de dos objetos String.
new String("cadena").equals("cadena")
new String("cadena") == "cadena"
new String("cadena") == new String("cadena")
Una forma de comparar cadenas con variables y que evita que el riesgo de lanzar un NullPointerException si la variable a comparar es nula es de la siguiente forma:
"cadena".equals(variableCadena)
Donde el valor de la variable variableCadena puede asignarse de otra sección de código, si su valor es null, la expresión devolverá false si el valor de la variable variableCadena es «cadena», devolverá true.
Me va a servir de verdad, gracias 😀
Había dos de esos puntos que no los sabía, Gracias (Y)