Java - Comparando Strings

 
Vista:

Comparando Strings

Publicado por Fran (34 intervenciones) el 06/06/2001 20:00:36
Mi problema es el siguiente:
¿Puede haber alguna razón por la que dos strings absolutamente iguales, que provienen de diferentes partes del programa, al ser comparadas devuelvan falso. Tengo dos strings s="TE1" (De "TE" + un entero) y term[1]= "TE1". Cuando hago la siguiente comparación:
if (s == term[1]) {return true} else {return false}
el método devuelve false.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Comparando Strings

Publicado por Dabitxu (4 intervenciones) el 06/06/2001 20:24:38
Si, veras, la comparacion te sale a "FALSE" porque cuando tu igualas == (que no comparas) dos Strings siempre te va a dar falso puesto que son objetos que residen en DISTINTAS DIRECCIONES DE MEMORIA, a pesar de que su valor sea el mismo, por eso el ordenador nunca los encontrara iguales. Para hacer una comparacion correcta debes utilizar el metodo estatico de STRING equals(String p) que devuelve un boolean. De tal manera que tu linea de codigo :

String a="T1";
String b="T1";
if(a==b)
{
return true;
}

quedaria:

if(a.equals(b)) return true;

de nada, y a seguir aprendiendo. Hasta las EJBs te queda un trecho.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Comparando Strings

Publicado por Fran (34 intervenciones) el 11/06/2001 21:48:54
Gracias por tu ayuda.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar