Tengo un problema que me causa cierta confusión. Tengo las siguientes líneas de código en mi aplicación Android:Las cadenas no parecen ser iguales en Java en Android, a pesar de que imprimen el mismo
System.out.println(CurrentNode.getNodeName().toString());
if (CurrentNode.getNodeName().toString() == "start") {
System.out.println("Yes it does!");
} else {
System.out.println("No it doesnt");
}
Cuando miro a la salida de la primera sentencia println Se manifiesta en LogCat como "start" (sin las comillas obviamente). Pero luego, cuando la instrucción if se ejecuta, va a la instrucción else e imprime "No, no".
Me pregunté si el nombre del nodo podría tener algún tipo de carácter no imprimible, así que he comprobado la longitud de la cadena proveniente de getNodeName() y tiene 5 caracteres, como era de esperar .
¿Alguien tiene alguna idea de lo que está pasando aquí?
¿Cuál será el resultado de 'CurrentNode.getNodeName(). ToString(). Equals (" start ") ==" start ".equals (CurrentNode.getNodeName(). ToString()'? –
@MohammedShareefC I ' d esperar 'verdadero', pero puedes probarlo para averiguarlo –
yup Lo siento por ser demasiado vago –