Java - cosa extrañisima, el compilador esta loco :(

 
Vista:

cosa extrañisima, el compilador esta loco :(

Publicado por gothmog (25 intervenciones) el 23/08/2003 22:36:21
Pues vereis, yo tengo un proyecto en jbuilder 7.

Resulta que en una parte del codigo tengo esto:

if (str=="Error:1")
throw new Exception(str);
else if (str=="Error:3")
throw new Exception(str);
else if (str != "Ok")
throw new Exception("NoOk");

Y funciona como cabria esperar. Sin embargo, en otra parte del codigo tengo EXACTAMENTE lo mismo, pero no funciona, la ultima rama [if (str != "Ok")] funciona al reves. Y lo mas raro es que, comprobando con el depurador, el valor es correcto!!! pero luego al continuar la ejecucion, lo hace mal.

La verdad es que esto me trae verdaderamente loco, pq no se de que sera :(

Espero que podais decirme algo respecto.
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:cosa extrañisima, el compilador esta loco :(

Publicado por Oscar (661 intervenciones) el 23/08/2003 23:02:20
No hay nada de extraño en el comportamiento del codigo que muestras. Todo funciona como dice la especificacion.
http://java.sun.com/docs/books/jls/second_edition/html/typesValues.doc.html#26992

El problema que tienes es que estas comparando referencias y no valores. Para comparar el contenido de un String se usa el metodo equals si quieras comparar referencias se usa el ==
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