Foros del Web » Programación para mayores de 30 ;) » Java »

Un if me tiene loco !!!

Estas en el tema de Un if me tiene loco !!! en el foro de Java en Foros del Web. Estoy evaluando esto: if(compare==d[var][6]){ stat=true; }else{ stat=false; } pero siempre me devuelve FALSE !!! tanto "compare" como "d[var][6]" tienen la misma información !!!, contienen exactamente ...
  #1 (permalink)  
Antiguo 03/07/2004, 11:20
Avatar de drcyber  
Fecha de Ingreso: julio-2002
Mensajes: 826
Antigüedad: 21 años, 9 meses
Puntos: 2
Un if me tiene loco !!!

Estoy evaluando esto:

if(compare==d[var][6]){
stat=true;
}else{
stat=false;
}

pero siempre me devuelve FALSE !!! tanto "compare" como "d[var][6]" tienen la misma información !!!, contienen exactamente lo mismo. Lo que no entiendo es porqué a pesar de que son iguales, "stat" siempre me devuelve FALSE !!!.

Tengo algún error??? Thankz!
__________________
Dr. Cyber
Ingeniarte.com
(soy el mismo Takitei)
  #2 (permalink)  
Antiguo 03/07/2004, 18:28
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Hola,

Que contengan la misma información no significa que sean lo mismo, y con == estas comprobando que sean lo mismo, es decir, que son EL MISMO OBJETO.
Integer obj1 = new Integer(1);
Integer obj2 = new Integer(1);

obj1==obj2 devolvera false puesto que no son el mismo objeto. Para comprobar si contienen la misma información se usa el metodo equals. Y por eso obj1.equals(obj2) devuelve true.

Para comprenderlo mejor, busca en un buen tutorial básico de Java la parte de comparación de objetos, ya que la cosa tiene mas complejidad si usas objetos hechos por ti... etc.

Un saludo
  #3 (permalink)  
Antiguo 11/07/2004, 09:09
 
Fecha de Ingreso: mayo-2004
Ubicación: Guadalajara, México
Mensajes: 50
Antigüedad: 19 años, 11 meses
Puntos: 0
Cita:
Iniciado por drcyber
Estoy evaluando esto:

if(compare==d[var][6]){
stat=true;
}else{
stat=false;
}

pero siempre me devuelve FALSE !!! tanto "compare" como "d[var][6]" tienen la misma información !!!, contienen exactamente lo mismo. Lo que no entiendo es porqué a pesar de que son iguales, "stat" siempre me devuelve FALSE !!!.

Tengo algún error??? Thankz!

Haber, la información que pones es insuficiente, pero podemos empezar tratando de usar equals en lugar de == si éstos son objetos, y no tipos de datos primitivos como int por ejemplo.

compare.equals(d[var][6])

Saludos
__________________
JAEC
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:02.