Java - Problema con un condicional

 
Vista:

Problema con un condicional

Publicado por javier (3 intervenciones) el 05/03/2020 14:32:05
Buenas tardes, llevo un buen rato dandole vueltas a esto y no le veo el sentido, yo entiendo que al ejecutar el resultado tendría que ser "La pass coinciden" pero al ejecutar no hace lo que yo entiendo que tendría que hacer. Que está mal?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
JPasswordField pwd1 = new JPasswordField("nueva");
JPasswordField pwd2 = new JPasswordField("nueva");
 
String pass1 = pwd1.getText();
String pass2 = pwd2.getText();
 
if (pass1!= pass2)
{
    System.out.println("La pass no coinciden");
}
else
{
    System.out.println("La pass coincide");
}
 
System.out.println("------------");
System.out.println("pass1: " + pass1);
System.out.println("pass2: " + pass2);
System.out.println("------------");

El resultado de la ejecucion es:
1
2
3
4
5
La pass no coinciden
------------
pass1: nueva
pass2: nueva
------------
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
Imágen de perfil de Rodrigo
Val: 2.041
Plata
Ha mantenido su posición en Java (en relación al último mes)
Gráfica de Java

Problema con un condicional

Publicado por Rodrigo (623 intervenciones) el 05/03/2020 14:37:18
Los strings no se comparan con el operador ==, o con el operador !=, usa el metodo equals()
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

Problema con un condicional

Publicado por Costero (148 intervenciones) el 05/03/2020 17:09:30
Correcto, utilizas == para ver si es el mismo objeto en la memoria

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
public class HelloWorld{
 
     public static void main(String []args){
        String value1 = "hello";
        String value2 = "hello";
        String value3 = new String("hello");
 
        if(value1 == value2) {
            System.out.println("value1 y value2 same objeto en memoria");
        }
 
        if(value1 == value3) {
            // no debe the imprimir ....
            System.out.println("value1 y value3 same objeto en memoria");
        }
 
        if(value1.equals(value2)) {
            System.out.println("value1 y value2 contienen el mismo valor");
        }
 
        if(value1.equals(value3)) {
            System.out.println("value1 y value3 contienen el mismo valor");
        }
     }
}
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

Problema con un condicional

Publicado por javier (3 intervenciones) el 05/03/2020 17:44:31
Ahora he entendido donde estaba el problema, muchas gracias!
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